ActionLink routeValue из TextBox - PullRequest
       2

ActionLink routeValue из TextBox

2 голосов
/ 30 апреля 2011

Я работаю над следующим:

1 - пользователь вводит значение в текстовое поле.

2-, затем нажимает edit , чтобы перейти к редактированию.view.

Это мой код:

   <%=   Html.TextBox("Name") %>

    <%: Html.ActionLink("Edit", "Edit")%> 

Проблема в том, что я не могу понять, как взять значение из textBox и передать его в ActionLink, вы можете мне помочь?

1 Ответ

8 голосов
/ 30 апреля 2011

Вы не можете, если вы не используете JavaScript. Лучший способ добиться этого - использовать вместо ActionLink:

форму
<% using (Html.BeginForm("Edit", "SomeController")) { %>
    <%= Html.TextBox("Name") %>
    <input type="submit" value="Edit" />
<% } %>

, который автоматически отправит значение, введенное пользователем в текстовое поле, в действие контроллера:

[HttpPost]
public ActionResult Edit(string name)
{
    ...
}

И если вы хотите использовать ActionLink, вот как вы можете настроить функцию javascript, которая будет отправлять значение:

<%= Html.TextBox("Name") %>
<%= Html.ActionLink("Edit", "Edit", null, new { id = "edit" })%> 

и затем:

$(function() {
    $('#edit').click(function() {
        var name = $('#Name').val();
        this.href = this.href + '?name=' + encodeURIComponent(name);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...