use*_*751 2 jquery asp.net-mvc-3
我有一个用户控件包含3个文本框和一个添加到aspx页面的按钮.单击它时应该对控制器进行ajax调用并传递文本框的数据,它应该返回一条消息....我怎么能这样做
例:
<input type="text" name="foo" id="foo" />
<input type="text" name="bar" id="bar" />
<input type="text" name="baz" id="baz" />
<%= Html.ActionLink("send to controller", "Ajax", "Home", null, new { id = "ajaxLink" }) %>
Run Code Online (Sandbox Code Playgroud)
并在一个单独的JavaScript文件中,您可以ajaxify此链接:
$(function() {
$('#ajaxLink').click(function() {
var data = {
foo: $('#foo').val(),
bar: $('#bar').val(),
baz: $('#baz').val()
};
$.getJSON(this.href, data, function(result) {
alert(result.message);
});
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
以及将接收调用并返回JSON的相应控制器操作:
public class HomeController: Controller
{
public ActionResult Ajax(string foo, string bar, string baz)
{
// TODO: do something with the arguments
return Json(
new { message = "Thanks for sending info" },
JsonRequestBehavior.AllowGet
);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:为赋值时删除了"new"关键字var data.