Как передать параметр строки запроса в ActionLink в MVC



у меня есть следующая ссылка действия:



<%= Html.ActionLink("Check this", "Edit", "test", 
new { id = id }, new { style = "display:block" })%>


Как включить data=name как строку запроса. Что-то вроде этого:



link?data=name
464   4  

4 ответов:

4-й параметр Html.ActionLink может иметь любое количество свойств:

<%= Html.ActionLink("Check this", "Edit", "test", 
                     new { id = id, data=name }, new { style = "display:block" })%>

эти свойства вставляются в URL на основе маршрутизации, но если имя свойства не может быть сопоставлено ни с одним маршрутом, оно добавляется как параметр url GET.

так что если у вас стандартный маршрут {controller}/{action}/{id}, вы получите URL:

test/Edit/[id]?data=[name] 

из кода выше.

передать строку запроса таким образом

@Html.ActionLink("Delete Record", "Home", "Delete", new { id=Id},null)

по приведенному выше коду вы получите url-адрес, как (предположим, Id=1):/Home/Delete/1

и если вы хотите добавить больше параметров в строку запроса, то:

@Html.ActionLink("Delete Record", "Home", "Delete", new { id=Id, Name=name},null)

по приведенному выше коду вы получите url-адрес (предположим, Id=1 и Name=India):

/Home/Delete/1?Name=India

Я знаю, это старый вопрос, но.

в случае, если приведенный ниже код не выдает <a href="/?param=value" />.

<%= Html.ActionLink("Text", "Action", "Controller", new { param=value }, null)%>

Я бы посоветовал проверить, есть ли у вас действие хотя бы одно (я использовал [Route("/")] например).

надеюсь, что это помогает.

Я устал биться головой о стену с html.actionlink. Отлично работает, когда вы просто хотите направить его против простых вызовов маршрутизации, но абсолютно отказывается сотрудничать, когда вы хотите добавить простую строку запроса в конце.

У меня нет идентификатора в конце, я хочу иметь возможность добавить какую-то фактическую строку запроса с "?".

поэтому везде, где мне нужна была строка запроса, я переключился на использование url.действие внутри якоря метка.

<a href='@url.action("Action","route")?Parameter=Value' >Text for Link Name</a>

по крайней мере, это работает, и я могу перестать получать головные боли над чем-то, что должно было быть очень простой задачей. Кто-то должен вытащить свои головы из своих прикладов и заставить ActionLink работать правильно для строк запросов в маршрутизации MVC.

Comments

    Ничего не найдено.