Динамическое управление рендерингом MVC Razor

#asp.net-mvc-3 #razor

#asp.net-mvc-3 #razor

Вопрос:

Это один из найденных мной способов динамического рендеринга элементов управления с ASP.NET MVC 3 Razor. Это дает мне правильные данные, но мне любопытно, видит ли кто-нибудь какие-либо красные флажки с этим методом или мучительно более очевидный способ сделать это.

 @using (Html.BeginForm())
{
foreach (var item in Model)
{
    <tr>
        <td>
            @item.app_name
        </td>
        <td>
            @item.setting_name
        </td>
        <td>
            @item.setting_description
        </td>
        <td>
             @if (item.data_type == "Bit")
             {
                @Html.CheckBox("setting_value", item.setting_value == "1" ? true : false)
             }
             else
             {
                @Html.TextBox("setting_value", item.setting_value)
             }
        </td>
        <td>
            @item.setting_value
        </td>
    </tr>
}
}
  

Ответ №1:

Вместо этого вы могли бы использовать редактор и отображать шаблоны…

Проверьте эту ссылку:

http://blogs.msdn.com/b/nunos/archive/2010/02/08/quick-tips-about-asp-net-mvc-editor-templates.aspx

Комментарии:

1. Ах да, спасибо. Я слышал о шаблонах редактора. Я проверю их, вместо того чтобы полагаться на тип данных, который мы храним в БД (я не буду вдаваться в подробности).

Ответ №2:

Какое отношение шаблоны редактора имеют к динамическому созданию элементов управления?

Что, если вам нужно управлять пользовательским интерфейсом / представлением из настроек в базе данных, например?