【发布时间】:2019-04-22 03:21:45
【问题描述】:
AppUser身份模型:
public virtual ICollection<UserPhones> UserPhones { get; set; }
使用 Razor 页面,我称之为局部视图,如下所示:
@await Html.PartialAsync("_NameAndID", Model.AppUser)
页面模型:
[BindProperty]
public AppUser AppUser { get; set; }
public IActionResult OnGet()
{
AppUser = _userManager.Users
//.Include(x => x.UserAddresses) //OMITTED BC USING LAZY LOADING
.SingleOrDefaultAsync(x => x.UserName ==
_httpContext.HttpContext.User.Identity.Name).Result;
return Page();
}
在_NameAndID.cshtml 中,我明确引用了来自UserPhones 实体的特定电话。与:
<input type="hidden" asp-for="UserPhones
.SingleOrDefault(z => z.Type == EnumPhoneType.Mobile).UserPhoneId" />
//other properties removed for brevity
<div class="rvt-grid__item">
<label asp-for="UserPhones.SingleOrDefault(z => z.Type == EnumPhoneType.Mobile).PhoneNumber">Mobile Phone</label>
<input asp-for="UserPhones.SingleOrDefault(z => z.Type == EnumPhoneType.Mobile).PhoneNumber" autocomplete="tel" />
<span asp-validation-for="UserPhones.SingleOrDefault(z => z.Type == EnumPhoneType.Mobile).PhoneNumber"></span>
</div>
在运行时,正确加载显式手机号码。但是,当发布到public async Task<IActionResult> OnPostAsync() 时,相关的AppUser.UserPhones 是null。 (问题)
你能帮忙吗?
提前谢谢你!!!!
【问题讨论】:
标签: entity-framework asp.net-core partial-views razor-pages