0

我正在做这个项目。我们正在使用 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>

由于我遇到的这个问题,我还没有完全完成部分视图。我想知道是否有办法(除了元组)来为视图模型中的访问代码对象提供一个文本框?

4

1 回答 1

0

您需要在局部视图中定义标签和文本框的用途。如果该属性被称为地址:

@foreach (var item in Model)
{
    @Html.LabelFor(m => item.Address)
    @Html.TextBoxFor(m => item.Address)
}
于 2013-11-07T23:28:32.653 回答