Как отправить данные через 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);
Другие вопросы по тегам