2011-05-27 847 views
6

¿Cómo evito que la renderización represente la página maestra y me la devuelva? Solo quiero que muestre 1 sección, por ej.ASP.NET MVC RenderAction vuelve a mostrar toda la página

El controlador

public ActionResult PaymentOptions() 
{ 
    return View(settingService.GetPaymentBanks().ToList()); 
} 

El PaymentOptions Vista:

@model IEnumerable<Econo.Domain.PaymentBank> 

<h2>Payments</h2> 
<!-- Stuff here --> 

La vista

<div class="grid_10"> 

</div> 

<div class="grid_14"> 
@{Html.RenderAction("PaymentOptions", "Administrator");} 
</div> 

En grid_14, el encabezado, pie de página y todo lo demás se rindió. ¿Hay alguna forma de prevenir esto?

+0

por lo que desea actualizar parte de una página? eso es para lo que es Ajax. – m4tt1mus

Respuesta

11

En la maquinilla de afeitar, vistas parciales y vistas completas tienen la misma extensión, por lo que necesidad de utilizar explícitamente el tipo de resultado PartialViewResult para especificar una vista parcial.

0

Este:

return View(settingService.GetPaymentBanks().ToList()); 

tiene que utilizar la sobrecarga para que pueda especificar un maestro:

return View("PaymentOptions", "", settingService.GetPaymentBanks().ToList()); 
+0

¿Hay alguna forma de comprobar si fue invocado por un RenderPartial, por lo que también puedo representar la página con el maestro y sin el maestro si no es renderpartial? –

+0

Todavía representa el maestro con este código –

Cuestiones relacionadas