带参数的ajax调用函数mvc
问题描述:
我对此很新,我想要做的就是使用ajax从视图调用控制器函数,这是我的控制器。带参数的ajax调用函数mvc
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");
}
});
});
我得到了 “错误” 的短信..
答
添加EditSiteGetContact(int?id)之前的[HttpPost]属性。
在ajax函数中改变
var contactId = @ Model.Org.ContactId; 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");
}
});
});
_i得到“错误”消息_什么错误消息! –
@StephenMuecke,'alert(“error”);'OP在谈论那个错误信息 –
@Div,OP需要解释他们在浏览器控制台中得到的错误 –