2011-03-26 37 views

Respuesta

89

Cree su vista parcial algo como:

@model YourModelType 
<div> 
    <!-- HTML to render your object --> 
</div> 

A continuación, en su opinión, el uso:

@Html.Partial("YourPartialViewName", Model) 

Si no quieren un establecimiento inflexible vista parcial retire la @model YourModelType desde la parte superior de la vista parcial y por defecto será un tipo dynamic.

actualización del motor vista

El valor por defecto buscará vistas parciales en la misma carpeta que la vista llamando al parcial y luego en la Vistas/carpeta ~/compartido. Si su parcial está ubicada en una carpeta diferente, entonces necesita usar la ruta completa. Tenga en cuenta el uso de ~/ en la ruta a continuación.

@Html.Partial("~/Views/Partials/SeachResult.cshtml", Model) 
+0

hola en mi caso la vista de contenedor está enlazada con "ContainerModel" y la vista parcial está en carpeta compartida y está enlazada con "ChildrenModel" en @ Html.Partial ("~/Views/Partials/SeachResult.cshtml", Model) es con la excepción de que "ChildrenModel no está declarado. Puede ser inaccesible debido a su nivel de protección", ¿puede sugerir qué hacer? –

+1

¿Y por qué es '@ Html.RenderPartial (string viewName)' para ...? Siempre da un error que dice 'No se puede convertir implícitamente el tipo 'void' en 'object''. – shashwat

+3

@shashwat: use RenderPartial entre corchetes para evitar ese error. – Pradeep

3
<%= Html.Partial("PartialName", Model) %> 
+0

no ha funcionado en MVC 3. Si paso la ubicación de parcial en partialname que no trabajaban y me dan error que @ Html.RenderPartial (Globals.Theme_Path + "vistas/parciales/seachresult.cshtml", ViewData .Model) –

+0

@Moby Parece que no se puede ver la vista parcial, mira mi respuesta, pero ¿puedes publicar el mensaje de error y luego podemos ayudarte más? –

+0

No debe aplicar temas utilizando diferentes vistas. Los temas se deben aplicar usando diferentes imágenes/archivos css. Además, debe usar Partial y no RenderPartial. –

Cuestiones relacionadas