我正在做这个项目。我们正在使用 EF 和后端数据模型。我们将它们映射到具有相同属性名称的视图模型。这已经创建了 4 个独立的视图模型,我可以接受。现在,我的组织可以有 2 个地址、多个访问代码和多个域地址。在我的部分视图中,我必须将视图绑定到 IEnumerable 以列出所有可能的代码/域/等。当我在使用由部分填充的详细信息页面的组织的“详细信息”页面中时,我想添加一个文本框以添加新的访问代码或域。不幸的是,我无法弄清楚如何实现这一目标。这是我的代码:
组织访问代码的视图模型:
namespace AdminTool.Models.ViewModel
{
public class OrganizationAccessCodeView
{
[AtLeastOneRequired(ErrorMessageResourceType = typeof(AdminResource), ErrorMessageResourceName = "OrganizationAccessCodeRequired")]
[Display(ResourceType = typeof(AdminResource), Name = "OrganizationAccessCode")]
[RegularExpression(@"(0-9)", ErrorMessageResourceType = typeof(AdminResource), ErrorMessageResourceName = "OrganizationAccessCodeFormatError")]
public string AccessCode { get; set; }
public bool Active { get; set; }
public int OrganizationID { get; set; }
}
}
这是详细信息html:
@model AdminTool.Models.ViewModel.OrganizationView
@using AdminTool.App_GlobalResources;
@{
ViewBag.Title = "Details";
}
<div id="idm_main">
<div class="form_section">
<h3>@AdminResource.OrganizationDetailsHeader</h3>
<div class="form_item">
<h4>@AdminResource.OrganizationNameHeader</h4>
<div class="item">
@Html.DisplayFor(model => model.OrganizationName)
</div>
@Html.Partial("_AddressPartial", Model.OrganizationAddress)
</div><br /><br />
<div class="form_item">
<h4>@AdminResource.OrganizationAccessCodeHeader</h4>
@Html.Partial("_AccessCodePartial", Model.AccessCodes)
</div><br /><br />
<div class="form_item">
<h4>@AdminResource.OrganizationDomainsHeader</h4>
@Html.Partial("_EmailDomainPartial", Model.DomainAddresses)
</div>
<div class="clearBoth"></div>
</div>
</div>
这是访问代码的部分内容:
@model IEnumerable<AdminTool.Models.ViewModel.OrganizationAccessCodeView>
@foreach (var item in Model)
{
<tr>
<td>
@item.AccessCode
</td>
<td>
@Html.ActionLink("Deactivate", "Edit", new {})
</td>
</tr>
}
<div class="form_item">
<div class="item">
@Html.LabelFor()
</div>
<div class="item">
@Html.TextBoxFor()
@Html.ValidationMessageFor()
</div>
</div>
由于我遇到的这个问题,我还没有完全完成部分视图。我想知道是否有办法(除了元组)来为视图模型中的访问代码对象提供一个文本框?