Representación del nombre del campo en una plantilla de editor (representada a través de EditorFor ())

Actualmente estoy creando el back-end de administración para un sitio web en ASP.NET MVC.

En una aplicación MVC de ASP.NET, comencé a usar el método de ayuda 'EditorFor' así:

<div id="content-edit" class="data-form">
    <p>
        <%= Html.LabelFor(c => c.Title) %>
        <%= Html.TextBoxFor(c => c.Title)%>
    </p>
    <p>
        <%= Html.LabelFor(c => c.Biography) %>
        <%= Html.EditorFor(c => c. Biography)%>
    </p>
</div>

En el modelo, el campo 'Biografía' ha sido decorado con: [UIHelper ("Html")].

Tengo una vista parcial 'Html' (bajo Views / Shared / EditorTemplates):

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.XML.Linq.XElement>" %>

<textarea class="html">
    <%= Model.ToString() %>
</textarea>

Ahora me gustaría tener el atributo 'ID' de 'textarea' establecido en el nombre del campo, así:

<textarea id="Biography" class="html">
    ...
</textarea>

Pero no puedo ver una manera de hacer eso con la configuración actual.

Todo lo que puedo pensar es crear un ViewModel 'Html' que contenga una propiedad 'Value' y una propiedad 'ControlID'.

Pero si basara la vista en eso, en lugar de en 'System.XML.Linq.XElement', ya no sería compatible con el método de ayuda 'EditorFor' y tendría que hacer todo manualmente.

¿Alguien ha tenido un problema similar todavía?

Respuestas a la pregunta(3)

Su respuesta a la pregunta