¿Cuál es la forma adecuada de representación de un niño de la plantilla?

Y cuál es la diferencia? Ambos parecen a trabajar para mí.

Y ¿por qué @Html.RenderPartial() ya no funcionan?

InformationsquelleAutor Evgenyt | 2010-12-21

5 Comentarios

  1. 127
    Html.Partial("MyView")

    Hace que el «MyView» ver a un MvcHtmlString. Sigue las reglas estándar para la vista de búsqueda (es decir, comprobar directorio actual, a continuación, compruebe el Shared directorio).

    Html.RenderPartial("MyView")

    Hace lo mismo que Html.Partial(), excepto en que escribe su salida directamente a la secuencia de respuesta. Esto es más eficiente, debido a que la visualización de contenido no está guardado en la memoria. Sin embargo, debido a que el método no devuelve ningún resultado, @Html.RenderPartial("MyView") no funciona. Usted tiene que envolver la llamada de un bloque de código en su lugar: @{Html.RenderPartial("MyView");}.

    RenderPage("MyView.cshtml")

    Hace la vista especificada (identificados por la ruta de acceso y nombre de archivo en lugar de por el nombre de la vista) directamente a la secuencia de respuesta, como Html.RenderPartial(). Puede suministrar cualquier modelo que le guste a la vista por su inclusión como un segundo parámetro

    RenderPage("MyView.cshtml", MyModel)
    • Hay métricas en el aumento de la eficiencia de @{Html.RenderPartial(«MyView»);} más de @Html.RenderPartial(«MyView»)?
    • ¿significaba Parcial vd RenderPartial ?
    • sí, mi comentario debe leer @Html.Partial("MyView") vs @{Html.RenderPartial("MyView");}
    • Pequeña corrección: el segundo parámetro en RenderPage() no es el modelo, es un param[] Objeto que se accede a través de la PageData de la propiedad. Parece que funciona como la anterior, porque por defecto, el modelo de los «padres» de la página se pasa a través del «niño». msdn.microsoft.com/en-us/library/…
    • Hay una forma de nido de una página completa a lo largo de su modelo llamando RenderPage? Quiero anidar una página diferente especificando un parámetro de consulta, que a su vez, se filtrarán los datos en esa página, y además, eliminar su propio diseño.
  2. 17

    Prefiero

    @RenderPage("_LayoutHeader.cshtml")

    Más de

    @{ Html.RenderPartial("_LayoutHeader"); }

    Sólo porque la sintaxis es más fácil y es más legible. Aparte de que no parece haber diferencias en la funcionalidad de sabio.

    EDIT: Una de las ventajas de RenderPartial es que usted no tiene que especificar la ruta de acceso completa o de la extensión de archivo para buscar los lugares comunes de forma automática.

    • Creo que esto debería ser un comentario de no respuesta. También estoy de acuerdo con RenderPage debido a la sintaxis.
  3. 6

    La RenderPartial método no devuelve código HTML como la mayoría de los otros métodos auxiliares. En su lugar, escribe
    el contenido directamente a la secuencia de respuesta, por lo que debemos llamar las cosas como una línea completa de C#, con un punto y coma.

    Esto es un poco más eficiente que el almacenamiento en búfer el renderizado de HTML de la vista parcial, ya que será por escrito a la
    secuencia de respuesta de todos modos. Si prefiere una forma más coherente de la sintaxis, puede utilizar el Html.Parcial método, que
    hace exactamente el mismo que el RenderPartial método, pero devuelve un fragmento de HTML y puede ser utilizado como
    @Html.Parcial(«Producto», p).

  4. 2

    También se puede pasar un modelo utilizando vistas parciales. @Html.Parcial(«MyView»,»MyModel»);

  5. 0
    @RenderPages() 

    El anterior no funciona en ASP.NET MVC. Sólo funciona en las Páginas web.

    @Html.Partial("_Footer")

    Usted tendrá que usar la de arriba en ASP.NET MVC.

Dejar respuesta

Please enter your comment!
Please enter your name here