【问题标题】:Url rewrite in MVC在 MVC 中重写 URL
【发布时间】:2015-07-15 20:53:58
【问题描述】:

我在 MVC 应用程序中工作,我想让 url 更友好。我试图使用路由来做到这一点,但在某些 url 上它不起作用。

我想要一个像 http://localhost:55696/fr/Pages/Lists?pageType=PropertiesList&list=Market 这样的网址变成 http://localhost:55696/fr/(market_in_french)

我正在尝试

routes.MapRoute(
    name: "MarketFr",
    url: UrlStrings.ResourceManager.GetString("Market", new CultureInfo(CultureEnum.fr.ToString())),
    defaults: new {controller = "Pages", action = "Lists"}
);

但结果是http://localhost:55696/fr/market?pageType=PropertiesList&list=Market

我该如何解决这个问题。 Lists 方法是这样定义的:

public ActionResult Lists(string pageType, string list = "", string viewType = "")

我做了更改:

routes.MapRoute(
                name: "MarketFr",
                url: UrlStrings.ResourceManager.GetString("Market", new CultureInfo(CultureEnum.fr.ToString())),
                defaults: new { controller = "Pages", action = "Lists", pageType = "PropertiesList", list = "Market", viewType = "" }
                );

现在它根本不起作用,我的网址就像开头一样:http://localhost:55696/en/Pages/Lists?pageType=PropertiesList&list=Market

如果我在地址栏中输入http://localhost:55696/fr/market,它会将我带到正确的页面,但是当我单击链接到

的按钮时
Url.Action("Lists", "Pages", new { pageType = PageTypesEnum.PropertiesList, list = PropertyListViewMode.Market })

地址栏中的网址是http://localhost:55696/en/Pages/Lists?pageType=PropertiesList&list=Market

【问题讨论】:

    标签: c# asp.net asp.net-mvc url-rewriting routing


    【解决方案1】:

    不清楚你是如何生成这样的网址的,所以假设像Url.Action。对于特定情况,您指定所有默认值应该生成您喜欢的 url:

        url: "fr/market",    
        defaults: new {controller = "Pages", action = "Lists", 
                       pageType="PropertiesList", list= "Market"}
    

    【讨论】:

      【解决方案2】:

      您在该 URL 中有空格。空格字符为not allowed
      用 %20 在你的 url 中替换每个空格:

      http ://localhost:55696/fr/Pages/Lists?pageType=PropertiesList&list=Market%20to%20become%20http://localhost:55696/fr/(market_in_french)
      

      【讨论】:

        猜你喜欢
        • 2012-07-14
        • 1970-01-01
        • 2011-04-23
        • 2016-03-28
        • 2011-02-07
        • 2012-06-03
        • 2014-09-26
        • 2018-10-11
        • 2012-08-06
        相关资源
        最近更新 更多