Как использовать ActionLink с RouteValueDictionary? - PullRequest
3 голосов
/ 01 февраля 2011

Я пытаюсь, чтобы мой 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 ]

3 голосов
/ 01 февраля 2011

Если вы зайдете в global.asax.cs и добавите новый маршрут, аналогичный существующему маршруту по умолчанию с шаблоном

"{controller}/{action}/{id}/{company}"

Перед маршрутом по умолчанию вы должны обнаружить, что ссылка будет сгенерирована правильно сваш вызов ActionLink как есть.

Я разговариваю по телефону, поэтому я хотел бы быть более многословным (ограничение маршрута было бы хорошей идеей, чтобы этот маршрут не мешал по умолчанию), но HTCклавиатура не дружит с кодом;)

1 голос
/ 01 февраля 2011

Подобное обсуждение здесь: Как создать дружественный URL в ASP.NET MVC?

...