所以我的行动上有一个actionlink行
<% foreach ( var item in Model) { %>
<% Html.ActionLink (item.Name, "Profile", new { id = item.Id } )%>
<% } %>
它产生这个URL,(如果item.Id是1):
http://localhost:1111/company/profile/1
是否可以生成url / route(基本上使用item.Name而不是Id:
http://localhost:1111/company/profile/nameofcompany1
我真的不知道如何处理这个路由。如果我应该更改控制器的global.asax上的路由。
欢迎您的想法。
谢谢!
-G
答案 0 :(得分:2)
不确定
<% Html.ActionLink (item.Name, "Profile", new { name = item.Name } )%>
现在当然这假设您修改了路由定义并将id
令牌替换为name
,并且还通过id
替换控制器操作中的name
操作参数
话虽如此,这些网址的用处似乎非常有限。如果您有2个同名商品怎么办?我建议您始终使用ID以便以独特的方式识别您的商品。如果你想在这个网址中有一些名字,请举例说明如何在StackOverflow上实现网址:他们使用问题ID,并附加一个slug(不是名称,它是一个过滤的名称,因为事情很快就会失控如果您的名字包含一些特殊字符,请在网址的末尾。