将部分视图td属性与列标题匹配

时间:2014-04-02 11:29:05

标签: asp.net-mvc razor

我有一个局部视图中的表(用于分页等时更新...)

现在我有一个选择标签,其中包含摘要,创建日期,创建者,分类帐,客户等选项...并且这些选择标签中有几个(表格中的每列都有一个)它们都包含相同的标签值。 我有一个模型(帐户),并返回这些对象的列表以在我的部分视图中使用...问题/我的问题是,当我显示数据时,我如何知道在标题下使用哪个属性?

我正在考虑编写一些方法或一个新的类,它将下拉列表中的标题与模型中的属性名称相匹配,反之亦然,并在视图中使用这些方法,该类可能有一个映射字典和一些简单的方法将下拉列表映射到属性,反之亦然,并返回需要显示的属性。

有没有人有任何想法? - 到目前为止,它几乎就是这样。

在我的表格中我正在这样做:

<table id="TableOptions">
        <thead>
            <tr id="AffectedHeader">
                @{
                    String[] DropsOptions = Model.SelectedDropsOptions;
                    for (int i = 0; i <= DropsOptions.Length; i++)
                    {
                    <td>
                        <select class="filter" id="@i.ToString()">
                            <option selected="@Model.SelectedDropsOptions[i]">@Model.SelectedDropsOptions[i]</option>
                            @{
                        foreach (String Option in Model.Options)
                        {
                                <option>@Option</option>
                        }   
                            }
                        </select>
                    </td>
                    }
                }
            </tr>
        </thead>

List<Management.Models.Account> Accounts = Model.Accounts;
                for (int i = Model.RowFrom; i <= Model.RowTo; i++)
                {
                    if (i % 2 == 0)
                    {
                <tr id="@Accounts[i].Interested_in">
                    <td>@Accounts[i]</td>
                    <td>@Accounts[i]</td>
                    <td>@Accounts[i]</td>
                    <td>@Accounts[i]</td>
                    <td>@Accounts[i]</td>
                    <td>@Accounts[i]</td>
                    <td>@Accounts[i]</td>
                    <td>@Accounts[i]</td>
</tr>

每个标签中的帐户模型应具有与列相关的属性。 Model有一个名为MappedOptionProperties的属性,其中已选择的drop选项映射到Account模型的属性。因此,对于我需要获得财产的每一个人,但我不能将它们附加到@Accounts[i]

0 个答案:

没有答案