我对此很新,我要做的是使用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");
}
});
});
我收到了“错误”消息..
答案 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");
}
});
});