来自TextBox的ActionLink routeValue

Lis*_*isa 2 asp.net asp.net-mvc-2

我正在研究以下内容:

1-用户在textBox中输入值.

2-然后单击编辑以转到编辑视图.

这是我的代码:

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

    <%: Html.ActionLink("Edit", "Edit")%> 
Run Code Online (Sandbox Code Playgroud)

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

Dar*_*rov 8

除非你使用javascript,否则你不能.实现这一目标的更好方法是使用表单而不是ActionLink:

<% using (Html.BeginForm("Edit", "SomeController")) { %>
    <%= Html.TextBox("Name") %>
    <input type="submit" value="Edit" />
<% } %>
Run Code Online (Sandbox Code Playgroud)

它会自动将用户在文本框中输入的值发送到控制器操作:

[HttpPost]
public ActionResult Edit(string name)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

如果你想在这里使用ActionLink,你可以设置一个javascript函数来发送值:

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

然后:

$(function() {
    $('#edit').click(function() {
        var name = $('#Name').val();
        this.href = this.href + '?name=' + encodeURIComponent(name);
    });
});
Run Code Online (Sandbox Code Playgroud)