来自TextBox的ActionLink routeValue

时间:2011-04-29 23:10:56

标签: asp.net asp.net-mvc-2

我正在研究以下内容:

1-用户在textBox中输入一个值。

2-然后点击修改以转到修改视图。

这是我的代码:

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

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

问题是我无法弄清楚如何从textBox获取值并将其传递给ActionLink,你能帮助我吗?

1 个答案:

答案 0 :(得分:8)

除非您使用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);
    });
});