2011-05-27 6 views
6

レンダリングがマスターページをレンダリングして返すのを防ぐにはどうすればよいですか?私はそれが例えば1つのセクションをレンダリングしたいだけです。ASP.NET MVC RenderActionはページ全体を再レンダリングします

コントローラ

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

PaymentOptionsビュー:grid_14で

@model IEnumerable<Econo.Domain.PaymentBank> 

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

ビュー

<div class="grid_10"> 

</div> 

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

、ヘッダー、フッター、および他のすべてがレンダリングされるに。これを防ぐ方法はありますか?

+0

ページの一部を更新したいですか?それは何のためのアヤックスです。 – m4tt1mus

答えて

11

、パーシャルビューと完全なビューが同じ拡張子を持っているので、あなたパーシャルビューを指定するためにPartialViewResult結果型を明示的に使用する必要があります。

0

この:

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

はあなたがマスターを指定することができるようにオーバーロードを使用する必要があります:カミソリで

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

RenderPartialによって呼び出されたかどうかをチェックする方法はありますか?そうすれば、私はレンダリングをしていない場合でも、マスターとページをレンダリングすることができます。 –

+0

それでも、このコードでマスターをレンダリングします –

関連する問題