繁体   English   中英

MVC 3如何使用MapRoute

[英]MVC 3 How to use MapRoute

有人可以告诉我如何使用MapRoute方法吗? 我已经尝试创建自己的路线,但它不起作用。 我想要实现的是将“http://servername/home/default.aspx”路由到控制器“Home”和操作“Default”的路由。 此外,是否可以说如果用户正在浏览default.aspx“文件”,它实际上会指向“索引”操作?

我曾尝试阅读MSDN参考和谷歌搜索,但它并没有让我更明智。

可能为时已晚,无法帮助提出问题的开发人员,但可能会帮助其他人。 MVC新手,但我发现地图路线似乎按照添加顺序进行处理。 我遇到了类似的问题,直到我开始添加默认路由作为最后一条路线,我的具体路线才开始工作。

如果在自定义地图路线之前添加了默认地图路线,并且您的自定义网址与默认地图路线定义的结构相匹配,则您将永远无法访问自定义路线。

您要配置问题第一部分的路线是:

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 }
);

然后,您需要创建Default操作以接受字符串参数。

您还必须确保参数名称与操作的参数名称相同。 例:

    routes.MapRoute(
        name: "MyName",
        url: "{controller}/{action}/{myParam}",
        defaults: new { controller = "MyController", action = "MyAction", id = UrlParameter.Optional }
    );

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );

myController的:

public ActionResult MyAction(string myParam = "")
{

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM