使用JQuery ajax调用调用控制器

时间:2011-03-22 05:18:25

标签: jquery asp.net-mvc-3

我有一个用户控件包含3个文本框和一个按钮  添加到aspx页面。单击时,它应该对控制器进行ajax调用并传递文本框的数据,它应该返回一条消息....我该怎么做

1 个答案:

答案 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”关键字。