Как отправить данные через actionlink в asp.net?
В приложении, которое я пытаюсь сделать, у меня есть меню, как показано ниже:
<ul id="menu">
<li>@Html.ActionLink("Create Project", "Display", "CreateDisplay")</li>
<li>@Html.ActionLink("Open", "About", "Home")</li>
</ul>
где CreateDisplay - это имя контроллера, а Display - метод в этом контроллере, который будет вызывать другое представление.
Но я хочу, чтобы метод Display принимал определенные параметры, такие как имя пользователя человека. В текущем представлении я получил имя пользователя как @ViewData["UserName"]
Но я не могу передать эти значения с помощью ActionLink. Я попытался передать параметры как
<li>@Html.ActionLink("Create Project", "Display?UserName="+@ViewData["UserName"], "CreateDisplay")</li>
но получил исключение.
Пожалуйста, предложите несколько способов сделать это.
Заранее большое спасибо.
1 ответ
Решение
Вам необходимо использовать перегрузку, которая принимает параметры для значений маршрута. Смотрите перегруженный метод ActionLink()
здесь
@Html.ActionLink(
"Click me!",
"Display",
"CreateDisplay",
new { UserName = "SetYourValHere" },
null);