Как использовать ActionLink с RouteValueDictionary?
Я пытаюсь, чтобы мой URL выглядел так:
http://domain.com/controller/action/123/SomeTextForSEO
Я пытался использовать Action Link, но это добавляет ?company=SomeTextForSEO
вместо названия компании после косой черты.
<%: Html.ActionLink("DomainList", "Index", "DomainList", new { id = item.CompanyID, company = item.CompanyDisplayName.Trim() }, new object { })%>
и теперь я думаю, что мне нужно использовать RouteValueDictionary
но я не уверен, как это сделать в синтаксисе ASP.NET. Может ли кто-нибудь указать мне правильное направление? Примеры MSDN недостаточны.
2 ответа
Если вы идете в global.asax.cs и добавляете новый маршрут, аналогичный существующему маршруту по умолчанию с шаблоном
"{controller}/{action}/{id}/{company}"
Перед значением по умолчанию вы должны обнаружить, что ссылка будет сгенерирована правильно с вашим вызовом ActionLink как есть.
Я разговариваю по телефону, поэтому я хотел бы быть более многословным (ограничение маршрута было бы хорошей идеей, чтобы этот маршрут не мешал настройкам по умолчанию), но клавиатура HTC не совместима с кодом;)
Подобное обсуждение здесь: Как я могу создать дружественный URL в ASP.NET MVC?