【发布时间】:2017-04-09 17:44:39
【问题描述】:
我正在使用应该刷新部分视图的 Ajax 帖子提交一些信息。信息被发送到数据库,但是在返回部分视图时,Fees.Feetype 数据无法呈现,因为它为空。
在手动刷新时,Fees.FeeType 的渲染没有问题。
如何在 ajax 发布后将 FeeType 包含在部分视图中?
型号
public class Members
{
public virtual ICollection<Fees> Fees { get; set; }
}
public class Fees
{
public int FeeTypesId { get; set; }
public virtual FeeTypes FeeType { get; set; }
public virtual Members Members { get; set; }
}
public class FeeTypes
{
public int Id { get; set; }
public string FeeTypeName { get; set; }
}
Ajax 帖子
var token = $('[name=__RequestVerificationToken]').val();
var postData = {
__RequestVerificationToken: token,
FeeOccurence: feeOccField.val(),
FeeAmount: amountField.val(),
FeeStatus: statusField.val(),
FeeTypesId: typeField.val(),
FeeDate: dateField.val(),
MemberNo: memberNo
};
$.ajax({
url: '/Members/AddFees',
type: 'POST',
data: postData,
success: function (members) {
alert(result);
$("#details").html(members);
},
error: function (result) {
alert(result);
},
traditional: true
控制器
public ActionResult AddFees (Fees fees)
{
if (ModelState.IsValid)
{
db.Fees.Add(fees);
db.SaveChanges();
Members members = new Members();
members = db.Members.Find(fees.MemberNo);
return PartialView("~/Views/Members/_MemberDetails.cshtml", members);
}
}
观看次数
@model AccPortal.Models.Members
<div class="col-md-7 md-fees" id ="details">
@Html.Partial("_MemberDetails", Model)
</div>
//This is the partial view.
@model AccPortal.Models.Members
@foreach (var item in Model.Fees)
{
//The error happens on this line but all other Fees properties are rendered without issue.
<td class="md-fee-value"data-type="status">@item.FeeType.FeeTypeName</td>
}
【问题讨论】:
-
我能知道您是在局部视图中仅绑定 FeeType.FeeTypeName 还是所有数据?你在哪里 _MemberDetails.cshtml 部分视图?
-
我只绑定在一个地方。 _MemberDetails.cshtml 在 ~/Views/Members/_MemberDetails.cshtml
-
我的问题是你能发布你的部分视图代码_MemberDetails.cshtml
-
我已经编辑了视图部分以显示哪个是局部视图
-
检查我的波纹管代码,让我知道。
标签: c# .net ajax asp.net-mvc