2017-05-09 69 views
0

我试着做点击按钮时,弹出窗口会打开并显示更多的数据,但是我有错误。我没有访问到服务器端我的意思是,当我把断点在C#代码(公共JsonResult PersonalDetail(INT personalId)),程序不要去那里,它表明注意到 请帮我:)如何在mvc中显示实体详细信息

<div class="modal fade" id="personalDetailModel"> 
    <div class="modal-dialog"> 
    @if(Model != null) { 
        <ul> 
         <li> 
          <b>Personal Name :</b>@Model.PName 
         </li> 
         <li> 
          <b>Personal Lastname :</b>@Model.PLastname 
         </li> 
         <li> 
          <b>Personal Email :</b> @Model.Email 
         </li> 
         <li> 
          <b>Personal Phone :</b>@Model.Phone 
         </li> 
        </ul> 
        } 
</div> 
</div> 

这是我的模型,我想在这个弹出

<a href="#" class="btn btn-info" onclick="ShowDetail(@item.PersonalID)" data-toggle="modal" data-target="#personalDetailModel"><i class="glyphicon glyphicon-info-sign" ></i></a> 

展现个人细节,我用这个按钮访问弹出,进入到脚本

var ShowDetail = function (PersoID) { 
     var prsnID = $("#personalDetailModel").val(); 
     $.ajax({ 
      type: "POST", 
      url: "/Personal/PersonalDetail", 
      data: { PersoID: prsnID }, 
      success: function() { 

      } 
     }) 
    } 

而且这是脚本。所以我想采取更多细节从PersonalID,我会告诉它在弹出

 [HttpPost] 
     public JsonResult PersonalDetail(int personalId) 
     { 

      StorageSystemEntities2 db = new StorageSystemEntities2(); 


      Personal personal = db.Personal.SingleOrDefault(x => x.PersonalID == personalId); 
      PersonalViewModel personalVM = new PersonalViewModel(); 

      personalVM.PName = personal.PName; 
      personalVM.PLastname = personal.PLastname; 
      personalVM.PAuthorisation = personal.PAuthorisation; 
      personalVM.JobStartDate = personal.JobStartDate; 
      personalVM.DOB = personal.DOB; 
      personalVM.Email = personal.Email; 
      personalVM.Phone = personal.Phone; 
      personalVM.ShopName = personal.Shop.SName; 
      personalVM.GenderType = personal.Gender.GenderN; 
      personalVM.PStatus = personal.PStatus; 

      return Json(personalVM, JsonRequestBehavior.AllowGet); 
     } 
+0

所以用你的代码不要去api方面调用吧? – coderwill

+0

浏览器控制台中出现ajax错误? –

+0

你可以请你出示你的错误吗? – coderwill

回答

0

它是因为前端的方法不匹配在后端的方法。你需要做的是匹配参数名称。像

data: { personalId: prsnID }, 

public JsonResult PersonalDetail(string personalId) 

还需要设置参数类型为字符串,因为它默认情况下不投你的类型转换成int这样改变成字符串参数在服务器端和投它在方法中。