加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – mvc route actionlink url使用name而不是id

发布时间:2020-12-16 03:41:33 所属栏目:asp.Net 来源:网络整理
导读:我想我已经问过了,但解决方案并没有真正有意义.无论如何,我在我的观点上有这样的ActionLinks: foreach( var item in Model){%: Html.ActionLink(item.Name,"Details",new {id = item.Id}) %} 现在,当它进入我的行动细节显然这将是网址 /MyThings/Details/{i
我想我已经问过了,但解决方案并没有真正有意义.无论如何,我在我的观点上有这样的ActionLinks:

foreach( var item in Model){
<%: Html.ActionLink(item.Name,"Details",new {id = item.Id}) %>
}

现在,当它进入我的行动细节显然这将是网址

/MyThings/Details/{id}

我想知道是否可以显示该项目的名称而不是id使用slug?或像这样修改全局asax:

/MyThings/Details/CarKeys

事情是名称需要是唯一的,有没有办法我可以修改全局asax来显示名称而不是id?

任何建议都非常感谢!

解决方法

当然,您只需要更改路由规则.查看您的Global.asax.cs文件或区域注册文件中的内容,如下所示:

routes.MapRoute(...,"{controller}/{action}/{id}",...);

…并将其更改为以下内容:

routes.MapRoute(...,"{controller}/{action}/{name}",...);

然后让您的操作采用名称而不是ID:

Html.ActionLink(item.Name,new {item.Name})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读