Прикрепить параметры к ActionLinks - PullRequest
1 голос
/ 20 октября 2011

Можно ли прикрепить параметр к каждому @ Html.ActionLink без изменения кода в файле представления?

Что-то вроде:

public ActionResult Edit(int id)
{
    RouteData.Values.Add("param_name", "param_value"); // This does not work
    return View();
}

Я хочу, чтобы все ссылки содержали параметр:

<a href="/controller/action/1?param_name=param_value">test</a>

Сеанс не является хорошим вариантом, поскольку пользователи могут открывать несколько окон в браузере.

Ответы [ 2 ]

0 голосов
/ 01 марта 2012

Это возможно на уровне маршрута, см. ASP.NET MVC: правильный способ распространения параметра запроса через все ActionLinks . Если вы хотите сделать это на уровне Action / View, то, вероятно, вы все равно можете создать класс маршрута, который будет генерировать URL-адреса на основе данных, установленных контроллером.

0 голосов
/ 20 октября 2011

Почему вы хотите сделать это в контроллере?С @Html.ActionLink это так просто:

@Html.ActionLink("Edit", "Edit", "Controller", 
                 new { id = 1, param_name = "param_value" })

Это должно сгенерировать:

<a href="/Controller/Edit/1?param_name=param_value">Edit</a>

Если по какой-то причине это не применимо к вашему проекту, вы сможете сделать это смаршрутизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...