ASP.NET MVC URL查询字符串参数重命名

时间:2015-11-09 01:35:14

标签: asp.net asp.net-mvc url-rewriting

我已经浏览了SO和一般的互联网,我似乎无法理解以下是否可能

我有一个动作链接:

$(document).ready(function () {
              $(".navbar-toggle").on("click", function () {
                    $(this).toggleClass("active");
              });
        });

这很好,我可以使用id来获取主题以及模型所需的所有其他信息。

在浏览器中显示:

<a href = "@Url.Action("Subject", "Main", new { id = 1 })">Link to Subject</a>

这很好,但对用户来说不是很好或非常有帮助。

我希望能够从操作中的ID中查找主题,并将URL修改为:

http://www.example.com/Main/Subject/1

这是否可能,如果是这样,有人可以告诉我在哪里找到如何做到这一点。

我无法将参数更改为字符串,因为主题名称不唯一,只有id。

1 个答案:

答案 0 :(得分:0)

你可以在urlrewrite 2.0 forr iis 7及更高版本中使用dBprovider功能。你要做的是在数据库中创建一个存储两个URL的表,即

 'http://www.example.com/Main/Subject/Science' 

  'http://www.example.com/Main/Subject/1' 

它会与您要显示的网址相匹配&#39; http://www.example.com/Main/Subject/Science&#39;并重定向到实际的网址,即&#39; http://www.example.com/Main/Subject/1&#39;有关更多信息,请检查此 http://www.iis.net/learn/extensions/url-rewrite-module/using-custom-rewrite-providers-with-url-rewrite-module