我有一个用户控件包含3个文本框和一个按钮 添加到aspx页面。单击时,它应该对控制器进行ajax调用并传递文本框的数据,它应该返回一条消息....我该怎么做
答案 0 :(得分:8)
示例:
<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" }) %>
并在单独的javascript文件中,您可以解释此链接:
$(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;
});
});
以及将接收调用并返回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
);
}
}
编辑:在为var data
分配值时删除了“new”关键字。