我有一个Mvc项目但是当用户直接访问该站点时我需要一个webform作为启动页面而不指定页面。我可以使用" MapPageRoute"如果我首先调用该代码,则对默认Mvc路由采取prioirty。
routes.MapPageRoute(
"Default",
"",
"~/Members/MyHomePage.aspx"
);
routes.MapRoute(
"DefaultMvc", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Account", action = "LogIn", id = UrlParameter.Optional } // Parameter defaults
);
这里的问题是虽然这会将网站重定向到正确的aspx页面,但它并没有将URL更改为主页,所以当它应该是{{1}时,网址会保持"http://MySite/"
之类的内容}}
我看到的唯一可以执行的其他解决方案是创建另一个控制器并在下面的操作中重定向到我的网页
"http://MySite/Members/MyHomePage.aspx"
然后将此设置为全局配置中的默认值,如此
public class HomeController : Controller
{
public ActionResult Index()
{
Response.Redirect("~/Members/Requests.aspx");
return View();
}
}
然而,这并不是一个好习惯,因为我正在创建一个控制器,只是为了重定向到主页的Web表单。
我是以正确的方式看待这个还是有更好的选择?
答案 0 :(得分:0)
尝试通过右键单击页面将webform设置为启动页面,然后从属性菜单中选择设置为启动页面。
我添加了新项目,然后选择了Webform类型,只是将其设置为启动页面,路线没有变化,只是将该网页格式默认加载到网址上的页面名称。