Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC 3如何使用MapRoute_C#_Asp.net Mvc 3_Routes_Maproute - Fatal编程技术网

C# MVC 3如何使用MapRoute

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"

有人能告诉我如何使用MapRoute方法吗?我试着创建自己的路线,但不起作用。我想要完成的是一条“路线”http://servername/home/default.aspx进入控制器“主”和操作“默认”。另外,是否可以说,如果用户正在浏览default.aspx“文件”,它实际上会指向“Index”操作


我试过阅读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 = "")
{

}