我尝试制作当我点击按钮时,弹出窗口将打开并显示更多数据,但我有一个错误。我没有访问服务器端我的意思是当我把断点放在c#代码(公共JsonResult PersonalDetail(int personalId)),程序不去那里它显示注意 请帮帮我:)。
<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 :(得分:0)
这是因为前端的方法与后端的方法不匹配。您需要做的是匹配参数名称。像
data: { personalId: prsnID },
和
public JsonResult PersonalDetail(string personalId)
此外,您需要将参数类型设置为字符串,因为它默认情况下不会将您的类型转换为int,因此请将其更改为服务器端参数中的字符串并将其强制转换为方法。