我正在研究以下内容:
1-用户在textBox中输入一个值。
2-然后点击修改以转到修改视图。
这是我的代码:
<%= Html.TextBox("Name") %>
<%: Html.ActionLink("Edit", "Edit")%>
问题是我无法弄清楚如何从textBox获取值并将其传递给ActionLink,你能帮助我吗?
答案 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);
});
});