【问题标题】:Change URL to remove query string variable name更改 URL 以删除查询字符串变量名称
【发布时间】:2012-03-20 12:13:41
【问题描述】:

我有一个 MVC 应用程序,并且 url 看起来像这样;

/celebritypage/celebrityname=Elma Fudd

我想要的只是拥有;

/celebritypage/Elma Fudd

这在路由中可能吗?

【问题讨论】:

  • Scott Gu 的这篇文章应该提供您需要的所有信息:weblogs.asp.net/scottgu/archive/2007/12/03/…
  • 空格是故意的吗?它们对于 URL 来说是非标准的。此外,带有等号的路径也非常不标准。您是在询问一般性的名人路线,还是专门询问使用空间的问题?
  • 空格无关紧要。他们将是 %20,我只是想说明我的目标

标签: asp.net-mvc asp.net-mvc-3 model-view-controller url-rewriting routing


【解决方案1】:

当然,这样的事情应该可以工作:

routes.MapRoute(
    "RouteName",
    "celebritypage/{name}",
    new { controller = "celebritypage", action = "celebrityname" }
);

然后确保您的控制器操作已为参数做好准备:

//inside celebritypage Controller

public ActionResult celebrityname(string name) {
    //code
    return View("ViewName");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 2016-11-02
    相关资源
    最近更新 更多