Vin*_*den 5 c# asp.net-mvc url-routing asp.net-mvc-routing
我想获得友好的网址.目前友好的网址是这样的:
本地主机/客户/ 1/namehere
我希望他们这样:
本地主机/客户/ namehere
但仍然需要id(因为我用这个id搜索我的数据库).我的可能性是什么?这甚至可能吗?
这是我的MapRoute:
context.MapRoute(
"Customer_Default",
"customer/{customername}/",
new { controller = "customer", action = "view", id = "", customername = "" }
);
Run Code Online (Sandbox Code Playgroud)
这是我链接的方式:
@Html.ActionLink(c.Bedrijfsnaam, "view", "customer", new { id = c.Klantnummer, customername = UrlEncoder.ToFriendlyUrl(c.Bedrijfsnaam) }, null)
Run Code Online (Sandbox Code Playgroud)
谢谢.
更新: 哦,如果用户更改它并不重要.我只是想让它不显示.这样用户就可以轻松地将网址更改为他们想去的地方.而且不必担心ids.(但我仍然需要它.:))
如果我正确理解你的问题,id 是客户端 ID。
如果您根本不想显示您的 ID,解决方案是不使用数字 ID 并直接按客户名称进行查询。这确实有点慢,但也不是那么慢。您可以通过按客户端名称进行“反向”查询来获取 id,也可以按客户端名称进行索引。
避免通过用户名进行过多查询的一种可能性是使用 post 将 id 存储在会话中或表单中的隐藏字段中(您可以混合使用 http post 和 http get 而不会出现太多问题)。你可以存储两个字段:客户端名称和客户端id,如果客户端名称与http get中的字段匹配,则不需要获取id。如果不匹配,您可以在数据库中查询 id。这个想法是缓存 id,因此客户端只需搜索一次 id。
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |