Как использовать ActionLink с RoutevaleDictionary?
-
27-10-2019 - |
Вопрос
Я пытаюсь сделать свой URL выглядеть так:
http://domain.com/controller/action/123/SomeTextForSEO
Я пытался использовать ссылку на действие, но это добавляет ?company=SomeTextForSEO
вместо названия компании после удара.
<%: Html.ActionLink("DomainList", "Index", "DomainList", new { id = item.CompanyID, company = item.CompanyDisplayName.Trim() }, new object { })%>
И теперь я думаю, что мне нужно использовать RouteValueDictionary
Но я не уверен, как сделать это в синтаксисе ASP.NET. Может ли кто -нибудь указать мне в правильном направлении? Примеры MSDN недостаточно.
Решение
Если вы перейдете на Global.asax.cs и добавите новый маршрут, аналогичный существующему маршруту по умолчанию с шаблоном
"{controller}/{action}/{id}/{company}"
Перед по умолчанию вы должны обнаружить, что ссылка будет правильно генерироваться с вашим вызовом ActionLink As I's.
Я на телефоне, поэтому я хотел бы быть более многословным (ограничение маршрута было бы хорошей идеей, чтобы предотвратить этот маршрут в мешаете по умолчанию), но клавиатура HTC не подходит для кода;)
Другие советы
Аналогичное обсуждение здесь: Как я могу создать дружеский URL в ASP.NET MVC?