【发布时间】:2021-08-07 05:55:31
【问题描述】:
我有一个多对多的关系,我正在尝试一键更新两个表。一个用于appUser,另一个用于userLinks。
我的问题是我总是得到appUser 数据,却从来没有得到userLinks 数据。
模型类:
public class AppUser: IdentityUser
{
public string Name { get; set; }
public string Bio { get; set; }
public List<UserLink> userLinks { get; set; }
}
public class UserLink
{
[Key]
public Guid Id { get; set; }
public string linkUrl { get; set; }
public string UserId { get; set; }
[ForeignKey("UserId")]
public AppUser GetUser { get; set; }
public Guid LinkId { get; set; }
[ForeignKey("LinkId")]
public Link GetLink { get; set; }
}
public class Link
{
public Guid Id { get; set; }
public string linkIcon { get; set; }
public string linkName { get; set; }
public int ordr { get; set; }
public bool IsPdf { get; set; } = false;
public List<UserLink> userLinks { get; set; }
}
查看模型:
public class VMUserProfile
{
public AppUser appUser { get; set; }
public List<UserLink> userLinks { get; set; }
public List<Link> links { get; set; }
}
查看:
@model VMUserProfile
<form asp-action="EditProfile" asp-route-id="@Model.appUser.Id" method="post">
...
<ul id="linkList" class="list-group">
@foreach (var item in Model.userLinks.Where(w => w.UserId == Model.appUser.Id).ToList())
{
<li class="list-group-item">
<div class="input-group">
<div class="input-group-text">
@Html.Raw(item.GetLink.linkIcon)
</div>
<input asp-for="@item.linkUrl" id="@item.Id" class="form-control" placeholder="@item.GetLink.linkName" type="text" />
<div class="input-group-text">
<i class="far fa-times-circle deleteLi"></i>
</div>
</div>
</li>
}
</ul>
...
</form>
这是视图外观和调试结果
并在网络部分注意formdata 如何包含 URL,但我从未在控制器操作中收到它们,调试结果返回 null
【问题讨论】:
标签: c# asp.net-mvc entity-framework asp.net-core