我对 MVC 很陌生,我正在尝试使用它建立一个新站点。出于 SEO 的原因,我们需要使页面的 url 类似于“Recruiter/4359/John_Smith”或基本上是{controller}/{id}/{name}
. 当我在后面的代码中创建 url 时,我有这个工作......
//r is a recruiter object that is part of the results for the view
r.Summary = searchResult.Summary + "... <a href=\"/Recruiter/" + r.Id + "/" + r.FirstName + "_" + r.LastName + "\">Read More</a>"
但是,当我在我的视图中使用搜索结果的集合并遍历它们时,我试图创建另一个指向同一页面的链接,<%=Html.ActionLink<RecruiterController>(x => x.Detail((int)r.Id), r.RecruiterName)%>
但它不起作用。当我在视图中使用该代码时,它会以 /Recruiter/Detail/4359 的形式给我一个 url,一位同事告诉我应该使用 Html.ActionLink 在视图和控制器中创建链接,以便如果将来路线发生变化,它将自动工作。不幸的是,他不确定在这种情况下如何做到这一点。所以,我的问题是...
- 如何使 Html.ActionLink 在视图中工作以创建我需要的 url(如上面的 r.Summary)?
- 如何在控制器中使用 Html.ActionLink 而不是像上面那样对链接进行硬编码?