2016-09-26 163 views
-1

我對此很新,我想要做的就是使用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"); 
      }  

      }); 
    }); 

我得到了 「錯誤」 的短信..

+2

_i得到「錯誤」消息_什麼錯誤消息! –

+0

@StephenMuecke,'alert(「error」);'OP在談論那個錯誤信息 –

+0

@Div,OP需要解釋他們在瀏覽器控制檯中得到的錯誤 –

回答

0

添加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"); 
     }  

     }); 
});