Parece que el defecto ASP.NET MVC2 HTML ayudante genera identificadores duplicados HTML al usar un código como éste (EditorTemplates/UserType.ascx):del botón de radio genera duplicado id-s HTML
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<UserType>" %>
<%: Html.RadioButton("", UserType.Primary, Model == UserType.Primary) %>
<%: Html.RadioButton("", UserType.Standard, Model == UserType.Standard) %>
<%: Html.RadioButton("", UserType.ReadOnly, Model == UserType.ReadOnly) %>
El HTML produce es:
<input checked="checked" id="UserType" name="UserType" type="radio" value="Primary" />
<input id="UserType" name="UserType" type="radio" value="Standard" />
<input id="UserType" name="UserType" type="radio" value="ReadOnly" />
Eso muestra claramente un problema. Así que debo estar haciendo mal uso del Ayudante o algo así.
Puedo especificar manualmente el atributo id
como html pero entonces no puedo garantizar que sea único.
Así que la pregunta es cómo asegúrese de que los ID generados por RadioButton ayudante son únicos para cada valor y aún conservan las convenciones para generar los identificadores (se respetan los modelos de manera anidados? (Preferiblemente no generar los ID manualmente .)
Tal vez también puede sugerir cómo generar identificadores teniendo en cuenta el nombre actual del modelo de manera que los identificadores se pueden generar correctamente y ¿Tiene IDs como: 'UserType_Primary',' Company_User_UserType_Primary' y más? –
@Dmitriy: Acabo de actualizar mi respuesta. ViewData.TemplateInfo.HtmlFieldPrefix debería ayudarlo. – PanJanek
Muchas gracias. Eso debería hacer el trabajo por mí. –