【发布时间】:2014-10-01 13:46:24
【问题描述】:
我正在开发一个网站,其中包含一些使用 MVC4 和实体框架的教程。 所有教程都将保存在数据库中,并根据请求的 URL 中提供的教程 ID(例如 TId),它将在操作方法中检索有关该教程的所有信息,并在视图中呈现并显示给用户。下面提到了一个示例 URL。
网址:www.mysite.com/Tutorials/Show/452
Tutorials 是控制器名称,Show 是操作方法名称。
这里的 452 是 TId。因此,当请求此 URL 时,将显示 TId 为 452 的教程。但我想要的是,我想在末尾附加虚线教程名称,如下所示。
www.mysite.com/Tutorials/Show/452/My-Test-Tutorial
我可以用“-”替换空格并生成字符串,但我想办法将它附加到 URL。
这与 stackoverflow 网站完美配合。 例如,即使我们请求 "In MVC4, how to redirect to a view from a controller action with parameters in the Url?",ID 为 "20035665" 的问题也会显示,并且 URL 将更改为 "In MVC4, how to redirect to a view from a controller action with parameters in the Url?" 。
谁能帮我解决这个问题?
【问题讨论】:
-
Tutorials是控制器的名字吧? -
我能问一下为什么要在 URL 中附加名称,这会使 url 冗长吗?使用 Tid,服务器无论如何都会知道教程名称。其次,即使您有充分的理由传递教程名称,也可以通过其他方式将数据发送到服务器。
-
@Stefan Baiu .. 是的。 Tutorials 是控制器名称,Show 是动作方法名称。
-
@SBirthare.. 我不包括在 url 中用于将输入数据传递给服务器的标题,而是为了使 url 看起来友好。只要看一下 URL,我们应该就能知道标题。
-
@kewlcoder:这也改善了 SEO,我正在使用我在网站上的回答中提到的方法。
标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing