2
我有一个用户控件包含3个文本框和一个按钮 添加到aspx页面。当点击它应该做一个Ajax调用控制器,并通过文本框的数据和它应该返回的消息....我怎么能做到这一点呼叫控制器使用jQuery ajax调用
我有一个用户控件包含3个文本框和一个按钮 添加到aspx页面。当点击它应该做一个Ajax调用控制器,并通过文本框的数据和它应该返回的消息....我怎么能做到这一点呼叫控制器使用jQuery 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" }) %>
,并在一个单独的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;
});
});
和相应的控制动作将接收的调用和返回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
的值时删除了“新”关键字。
我已将此代码复制并粘贴到模板.net mvc 3项目中,以测试变量与foo,bar,baz在操作方法Ajax上的绑定是否都为空。 – Seth 2012-09-06 22:47:24
唯一的区别是我使用的是Razor语法。 – Seth 2012-09-06 22:48:45