C# MVC 3如何使用MapRoute
有人能告诉我如何使用MapRoute方法吗?我试着创建自己的路线,但不起作用。我想要完成的是一条“路线”http://servername/home/default.aspx进入控制器“主”和操作“默认”。另外,是否可以说,如果用户正在浏览default.aspx“文件”,它实际上会指向“Index”操作C# MVC 3如何使用MapRoute,c#,asp.net-mvc-3,routes,maproute,C#,Asp.net Mvc 3,Routes,Maproute,有人能告诉我如何使用MapRoute方法吗?我试着创建自己的路线,但不起作用。我想要完成的是一条“路线”http://servername/home/default.aspx进入控制器“主”和操作“默认”。另外,是否可以说,如果用户正在浏览default.aspx“文件”,它实际上会指向“Index”操作 我试过阅读MSDN参考资料和谷歌搜索,但这并没有让我变得更聪明。您想配置问题第一部分的路线是: routes.MapRoute( "", "home/default.aspx"
我试过阅读MSDN参考资料和谷歌搜索,但这并没有让我变得更聪明。您想配置问题第一部分的路线是:
routes.MapRoute(
"",
"home/default.aspx",
new { controller = "Home", action = "Default" }
);
假设您希望使用某种参数“浏览”default.aspx,您可以执行以下操作:
routes.MapRoute(
"",
"home/default.aspx/{param}",
new { controller = "Home", action = "Default", param = UrlParameter.Optional }
);
然后,您需要创建默认操作来接受字符串参数。可能太晚了,无法帮助提出问题但可能帮助其他人的开发人员。MVC的新功能,但我发现地图路线似乎是按添加顺序处理的。我有一个类似的问题,我的特定路线不起作用,直到我开始添加默认路线作为最后一条路线
如果在自定义映射路由之前添加了默认映射路由,并且自定义URL与默认映射路由定义的结构匹配,则您将永远无法访问自定义路由。您还必须确保参数名称与操作的参数名称相同。 例如: MyController:
public ActionResult MyAction(string myParam = "")
{
}
你需要多解释。您是想在MVC中显示WebForms,还是想创建一个路由,在浏览器中输入“”时路由到controller=“Home”、action=“Index”?这就是我想使用maproute方法的方式,但是当我尝试浏览站点(Home/default.aspx)时,我得到了错误404Hmm,尝试在全新的ASP.NET MVC3解决方案上运行该功能。我就是这么做的,效果很好。一定是有别的东西阻止了路由的解析。我必须注释掉默认的MapRoute才能让它工作。不知道为什么,但现在我可以添加任意多的MapRoute,它选择了正确的一个使用没有任何问题。问题:我如何重写关键字“Default”,使其改为“Index”。例如,当我浏览home/default.aspx时,它指向主控制器和动作索引,而不是动作默认值?
public ActionResult MyAction(string myParam = "")
{
}