2013-09-10 2 views
0

У меня есть следующий вызов: Html.ActionLinkHtml.ActionLink (LinkText, ActionName, ActionController, routevalues, htmlAttributes) делает неправильно HTML

@Html.ActionLink(linkText: "dothis", actionName: "Index", controllerName: "SelectActioncontroller", routeValues: new { actionController = "dothisController", actionName = "dothis", actionText = "dothis" }, htmlAttributes: null) 

Но в результате я получаю:

<a href="/SelectActioncontroller?actionController=dothisController&actionName=dothis&actionText=dothis">dothis</a> 

Что неверно, по всем остальным ответам я прочитал sofar, это должно привести к:

<a href="/SelectActioncontroller/dothis?actionController=dothisController&actionName=dothis&actionText=dothis">dothis</a> 

Что я пропущу?

Я использую VS2012 .net4.0 mvc4

ответ

0
@Html.ActionLink(linkText: "dothis", 
       actionName: "Index", 
       controllerName: "SelectActioncontroller", 
       routeValues: new { actionController = "dothisController", actionName = "dothis", actionText = "dothis" }, 
       htmlAttributes: null) 

Вы используете "Index" действие в вашей ссылке, проверьте второй параметр. Поскольку это значение по умолчанию для действия в маршруте по умолчанию, оно не добавляется к URL-адресу.

+0

Благодарим вас за разъяснение! У меня действительно была другая проблема, перед которой я исправил и не понял, что моя ссылка уже работает (я был так уверен в получении определенной ссылки). Но я все еще удивляюсь, почему они удаляют то, что я явно указываю? – DoB

+0

@DoB Просто чтобы сделать URL более коротким и чистым. –

Смежные вопросы