ASP.NET MVC renderPartial identificadores secundarios Manejo de Clientes
-
12-09-2019 - |
Pregunta
he tomado en un proyecto de MVC que tiene una vista que muestra varias vistas parciales utilizando
Html.RenderPartial("ClientDetail", model);
Html.RenderPartial("PlanSummary", model);
El problema que tengo es que dentro de estas vistas parciales, controla con el mismo ID están siendo generado. Tanto de las vistas parciales anteriores tienen esta línea:
Html.Hidden("Surname", Model.Surname)
Esto crea HTML no válido como aparecen dos elementos en el resultado representado con el mismo id.
¿Hay alguna otra manera de arreglar esto, aparte de utilizar "apellido1", "Apellido2", etc.
Solución
Prueba esto:
<%= Html.RenderPartial("ClientDetail", model, new ViewDataDictionary {{"PartialId", 1}}) %>
<%= Html.RenderPartial("PlanSummary", model, new ViewDataDictionary {{"PartialId", 2}}) %>
En la vista parcial:
Html.Hidden("Surname" + HtmlEncode(ViewData["PartialId"]), Model.Surname)
<!-- or -->
Html.Hidden("Surname" + PartialId, Model.Surname)
<script runat="server">
protected string PartialId {
get {
return HtmlEncode(ViewData["PartialId"]);
}
}
</script>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow