net mvc formulario form data asp asp.net-mvc razor

asp.net-mvc - formulario - razor form asp net mvc



Crear una plantilla de editor object.cshtml con MVC y Razor (2)

Solo voy a hacer la plantilla de visualización y dejar el resto como ejercicio para el lector :)

@if (Model == null) { <text>@ViewData.ModelMetadata.NullDisplayText</text> } else if (ViewData.TemplateInfo.TemplateDepth > 1) { <text>@ViewData.ModelMetadata.SimpleDisplayText</text> } else { <table cellpadding="0" cellspacing="0" border="0"> @foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForDisplay && !ViewData.TemplateInfo.Visited(pm))) { if (prop.HideSurroundingHtml) { <text>@Html.Display(prop.PropertyName)</text> } else { <tr> <td> <div class="display-label" style="text-align: right;"> @prop.GetDisplayName() </div> </td> <td> <div class="display-field"> @Html.Display(prop.PropertyName) </div> </td> </tr> } } </table> }

Estoy buscando crear una plantilla de editor para Object.cshtml para cambiar el comportamiento del método Html.EditorForModel (). No puedo encontrar ningún ejemplo de esto usando Razor. He visto este ejemplo usando MVC2 y el motor de visualización WebForm, pero no sé lo suficiente sobre la máquina de afeitar para convertirlo. Incluso un simple ejemplo sería muy útil.


Esto parece funcionar para la Plantilla del editor para el arranque, por favor avíseme sobre cualquier mejora

Object.cshtml

@if (Model == null) { <text>@ViewData.ModelMetadata.NullDisplayText</text> } else if (ViewData.TemplateInfo.TemplateDepth > 1) { <text>@ViewData.ModelMetadata.SimpleDisplayText</text> } else { foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForDisplay && !ViewData.TemplateInfo.Visited(pm))) { if (prop.HideSurroundingHtml) { <text>@Html.Editor(prop.PropertyName)</text> } else { <div class="form-group"> @Html.Label(prop.PropertyName, new { @class = "control-label col-md-2", @style = "text-align:right;" }) <div class="col-md-10"> @Html.Editor(prop.PropertyName, null, new { @class = "form-control " }) @Html.ValidationMessage(prop.PropertyName, "", new { @class = "text-danger" }) </div> </div> } } }