【问题标题】:A complex MapRoute in MVCMVC 中的复杂 MapRoute
【发布时间】:2015-04-24 03:11:31
【问题描述】:

我正在尝试学习 ASP.NET MVC,但我有一个找不到解决方案的问题。我找到了一些关于它的著作,但不能完全理解。

我的Global.asax 文件中有很多MapRoute,它们看起来都像下面这样:

routes.MapRoute(
       "Companies", // name it!
       "Bathroom/Companies/{Filtre}", // Route name
       new { controller = "Bathroom", action = "Companies", Filtre = UrlParameter.Optional } // Parameter defaults
);

这个 MapRoute 处理一个像 ~/Bathroom/Companies/FilterTest 这样的 url。但我需要一个 MapRoute 来处理像 ~/Bathroom/Companies/Location/Washington 这样的 URL

MapRoute怎么写?

【问题讨论】:

    标签: c# asp.net asp.net-mvc routes global-asax


    【解决方案1】:

    如果您希望 URL 完全以 /Bathroom/Companies/Location/ 开头,请使用此路由:

    routes.MapRoute(
       "Companies",
       "Bathroom/Companies/Location/{Filtre}",
       new { controller = "Bathroom", action = "Companies", Filtre = UrlParameter.Optional }
    );
    

    这将匹配/Bathroom/Companies/Location/Washington/Bathroom/Companies/Location/NewYork 等,您将在Bathroom 控制器的Companies 操作中获得Filtre 参数。

    【讨论】:

    • 假设网址是 /Bathroom/Companies/Location/Washington,我应该在过滤器中获得什么?
    • 在这种情况下,Filtre 将是 Washington
    • 所以有没有“位置”没有区别。我不完全明白。我想要一个不同的函数来返回“/Bathroom/Companies/Location/Washington”的 ActionResult
    • 然后把controller = "Bathroom", action = "Companies",改成你想要的控制器类和方法名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多