2011-05-27 97 views
6

如何防止呈現主頁面並將其返回給我的renderaction?我只想讓它呈現1個部分,例如。ASP.NET MVC RenderAction重新渲染整個頁面

控制器

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

的PaymentOptions查看:

@model IEnumerable<Econo.Domain.PaymentBank> 

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

<div class="grid_10"> 

</div> 

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

在grid_14,頁眉,頁腳和其他一切被渲染。有沒有辦法來防止這種情況?

+0

所以你想刷新頁面的一部分?那是什麼阿賈克斯是。 – m4tt1mus 2011-05-27 17:35:54

回答

11

在剃刀,局部視圖和完整視圖具有相同的擴展名,所以你需要顯式使用PartialViewResult結果類型來指定局部視圖。

0

此:

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

必須使用重載,所以你可以指定一個主:

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

有沒有辦法來檢查它是否被RenderPartial調用,所以我也可以渲染頁面與主人和沒有主人,如果不是renderpartial? – 2011-05-27 17:39:14

+0

它仍然使用此代碼呈現主人 – 2011-05-27 17:40:33