gpt4 book ai didi

asp.net-mvc-2 - 将参数传递给 MVC Ajax.ActionLink

转载 作者:行者123 更新时间:2023-12-04 18:14:21 25 4
gpt4 key购买 nike

如何将 TextBox 的值作为 ActionLink 的参数发送?

我需要使用 Html.TextBoxFor

<%= Html.TextBoxFor(m => m.SomeField)%>
<%= Ajax.ActionLink("Link Text", "MyAction", "MyController", new { foo = "I need here the content of the textBox, I mean the 'SomeField' value"}, new AjaxOptions{ UpdateTargetId = "updateTargetId"} )%>

Controller /操作如下所示:
public class MyController{
public ActionResult MyAction(string foo)
{
/* return your content */
}
}

使用 MVC 2.0

最佳答案

How can I send the value of the TextBox as a parameter of the ActionLink?



将输入字段值(例如文本框)发送到服务器的语义正确方法是使用 html <form>而不是链接:
<% using (Ajax.BeginForm("MyAction", "MyController", new AjaxOptions { UpdateTargetId = "updateTargetId" })) { %>
<%= Html.TextBoxFor(m => m.SomeField) %>
<input type="submit" value="Link Text" />
<% } %>

现在在您的 Controller 操作中,您将自动获得 SomeField 的值。用户输入的输入:
public class MyController: Controller
{
public ActionResult MyAction(string someField)
{
/* return your content */
}
}

您当然可以通过坚持使用 ActionLink 来尝试违反标记语义和 HTML 应该工作的方式。即使是错误的。在这种情况下,您可以执行以下操作:
<%= Html.TextBoxFor(m => m.SomeField) %>
<%= Html.ActionLink("Link Text", "MyAction", "MyController", null, new { id = "myLink" }) %>

然后在一个单独的 javascript 文件中使用 jQuery 不显眼地 AJAX 化这个链接:
$(function() {
$('#myLink').click(function() {
var value = $('#SomeField').val();
$('#updateTargetId').load(this.href, { someField: value });
return false;
});
});

关于asp.net-mvc-2 - 将参数传递给 MVC Ajax.ActionLink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6699301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com