Как отправить данные через actionlink в asp.net? - PullRequest
3 голосов
/ 10 января 2012

В приложении, которое я пытаюсь создать, у меня есть меню в моем представлении, как показано ниже:

<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 Ответ

2 голосов
/ 10 января 2012

Вам необходимо использовать перегрузку, которая принимает параметры для значений маршрута. См. Перегруженный метод ActionLink() здесь .

@Html.ActionLink(
    "Click me!",
    "Display",
    "CreateDisplay",
    new { UserName = "SetYourValHere" },
    null);
...