的,我想我已經問過這個,但是該解決方案並沒有實際的意義。無論如何,我有我的看法ActionLinks這樣的:MVC路線ActionLink的網址使用名稱,而不是ID
foreach(var item in Model){
<%: Html.ActionLink(item.Name, "Details", new {id = item.Id}) %>
}
現在,當它到我的行動細節顯然,這將是URL
/MyThings/Details/{id}
我想知道是否有可能以顯示名稱而不是id使用一個slug?或修改全球ASAX像這樣:
/MyThings/Details/CarKeys
的東西是名需要是唯一的,是有辦法,我可以修改全局ASAX顯示的名稱,而不是ID?
任何意見是非常感謝!
是的,但是這將需要更改查詢wonce它獲取控制器是否正確?所以從公共ActionResult Details(int id)到public ActionResult Deatils(string name)。我有點想避免這種情況,但如果沒有任何選擇,那麼我覺得這是一條路要走? – gdubs
取決於。你的控制器的'{id}'參數是否需要一個名字?如果是的話那麼就'新{ID = item.Name}' – Buildstarted
@gdubs:是的,如果你打算通過它的名稱來標識的東西,你顯然需要使用比如果你通過識別其不同的查詢它的ID。有一些先進的綁定技巧可以用來解決這個問題,但我會說你應該保持簡單。如果你想方便的ID,但也想包括名稱,使它看起來不錯,只需包括像惡意指出。 – StriplingWarrior