小编Jus*_*ore的帖子

具有动态下拉的MVC 3编辑器模板

如何将下拉列表显示为编辑器模板的一部分?

所以我有一个Users实体和一个Roles实体.角色作为SelectList和User传递给视图,也就是用户.SelectList变为下拉列表,选择了正确的ID,所有内容都归功于此示例.

我正在尝试使用MVC 3为我的实体获得一个一体化的完美捆绑的EditorTemplate,这样我就可以调用EditorForModel,只要我有像Roles这样的外键,就可以通过下拉列表得到很好的字段. ,在这个特殊的例子中.

我的EditorTemlates\User.cshtml(基于ViewData动态生成布局):

<table style="width: 100%;">
@{
    int i = 0;  
    int numOfColumns = 3;

    foreach (var prop in ViewData.ModelMetadata.Properties
        .Where(pm => pm.ShowForDisplay && !ViewData.TemplateInfo.Visited(pm))) 
    { 
        if (prop.HideSurroundingHtml) 
        { 
            @Html.Display(prop.PropertyName) 
        }
        else 
        { 
            if (i % numOfColumns == 0)
            {

                @Html.Raw("<tr>");
            }

            <td class="editor-label">
                @Html.Label(prop.PropertyName)
            </td>
            <td class="editor-field">
                @Html.Editor(prop.PropertyName)
                <span class="error">@Html.ValidationMessage(prop.PropertyName,"*")</span>
            </td>

            if (i % numOfColumns == numOfColumns - 1)
            {
                @Html.Raw("</tr>");
            }
            i++;
        }
    }
}
</table>
Run Code Online (Sandbox Code Playgroud)

在视图上,我然后单独绑定SelectList,我想将其作为模板的一部分.

我的型号:

public class SecurityEditModel
{
    [ScaffoldColumn(false)] …
Run Code Online (Sandbox Code Playgroud)

c# .net-4.0 visual-studio-2010 mvc-editor-templates asp.net-mvc-3

5
推荐指数
1
解决办法
1223
查看次数