Si no se reemplaza el ViewData.TemplateInfo.HtmlFieldPrefix
con una cadena vacía, ¿hay alguna forma de evitar que el prefijo entre en un conjunto anidado de editor de tipo StrongFor o DisplayFor para llamadas auxiliares?Nested EditorFor/DisplayPara anular el nombre del campo
Aquí es el margen de beneficio/código feo que he trabajando hasta el momento:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.Web.Mvc.SelectList>" %>
<% ViewData.TemplateInfo.HtmlFieldPrefix = ""; %>
<%=Html.DropDownList("sort", Model)%>
he probado el * Para sobrecarga que permite especificar htmlFieldName
, sino que sólo cambia el nivel inmediato. Si tengo un prefijo en el punto de esa llamada, simplemente cambio lo que está anexado al prefijo.
Podría escribir el marcado de la plantilla a mano, pero al hacerlo para un objeto SelectList
parece que terminaré copiando sobre el origen MVC con un solo ajuste, ya que implica la lógica de enlace de datos del objeto.
Estoy buscando una manera de anular el prefijo en el atributo de ID del campo HTML (utilizado para el enlace del modelo en el viaje de regreso), no su nombre para mostrar orientado al usuario. – patridge