ajax调用函数,参数在mvc中

时间:2016-09-26 13:17:26

标签: javascript jquery ajax asp.net-mvc asp.net-ajax

我对此很新,我要做的是使用ajax从视图中调用控制器函数,这是我的控制器。

public ActionResult EditSiteGetContact(int? id)

    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }

        using (var db = SiteUtil.NewDb)
        {

            var owner = db.Contacts.Include(o => o.Id).FirstOrDefault(o => o.Id == id);
            if (owner == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            var orgViewModel = OrgViewModel.ToViewModel(owner);
            return View("Edit", orgViewModel);
        }
    }

这是我要显示数据的视图

<div class="form-group" id="alanTest">
       <label class="control-label col-md-2">Contact Person</label>
       <div class="col-md-6 form-inline">
         @Html.TextBoxFor(model => model.Owner.Name, new { @class = "form-control", style = "width:200px", type = "text" })
         <img src="~/Images/help-icon.png" class="tooltips" id="ContactPerson_Tooltip" title="lol">
         @Html.ValidationMessageFor(model => model.Owner.Name)
       </div>
</div>

我的ajax部分:

 $("#alanTest").ready(function(){
        var alanURL = "@Url.Action("EditSiteGetContact","Org")";
        var contactId = @Model.Org.ContactId;

        $.ajax({
            type:"POST",
            url:alanURL,

            data:{
                id:contactId
            },
            success:function(data){
                alert(data);
            },
            error: function(){
                alert("error");
            }      

            });
    });

我收到了“错误”消息..

1 个答案:

答案 0 :(得分:0)

在EditSiteGetContact(int?id)之前添加[HttpPost]属性。

在ajax功能中更改
var contactId = @ Model.Org.ContactId; to var contactId =“@ Model.Org.ContactId”;

请参阅以下代码。它可能对你有帮助。

$("#alanTest").ready(function(){
     var alanURL = "@Url.Action("EditSiteGetContact","Org")";
     var contactId = "@Model.Org.ContactId";

    $.ajax({
        type:"POST",
        url:alanURL,

        data:{
            id:contactId
        },
        success:function(data){
            alert(data);
        },
        error: function(){
            alert("error");
        }      

        });
});