问题描述
在编辑或创建 User
时,我希望能够附加一个或多个 UserRole
。因此,我的 User
Create
视图如下所示:
@model MyModels.Userviewmodel
@{ ViewBag.Title = "Create"; }
@using (Html.BeginForm())
{
<fieldset>
<legend>User</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Username)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Username)
@Html.ValidationMessageFor(model => model.Username)
</div>
<!-- how to create an editor to add/remove roles -->
<div class="editor-label">
@Html.LabelFor(model => model.UserRoles)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.UserRoles)
@Html.ValidationMessageFor(model => model.UserRoles)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
由于 Model.UserRoles
最初是空的,所以我在此行 @Html.EditorFor(model => model.UserRoles)
中什么也没有。我尝试添加一个下拉菜单,我可以在其中使用 JavaScript 选择现有角色(我猜是作为部分视图检索的?),但我不知道如何将所选角色附加到 fieldset
以便它被提交。
这在 ASP.NET 中通常是如何完成的?我已经搜索了一段时间,但找不到合适的解决方案。
澄清一下,我不明白的是如何向客户端添加/附加新角色,以便提交按钮实际将其发送到 UserRoles
列表中。
(编辑)好的,我找到了: How to add an item to a list in a ViewModel using Razor and .NET Core。它说我应该获取一个局部视图,它被编写成看起来像由 @Html.EditorFor
生成的输入(带有下一个数组索引),然后使用 JavaScript 附加它。
这看起来很奇怪,这真的是正确的方法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)