2011-04-02 59 views
2

我有一個HomeController的動作About。我想要實現這個行爲:如何使視圖呈現完全或部分?

Case #1用戶打開/home/about頁面和視圖渲染完全(return View();

Case #2用戶在首頁,並點擊一個鏈接about,我想用history.pushState更改URL和渲染它部分(return PartialView();

我該如何實現這種行爲?

回答

6

您可以使用Request.IsAjaxRequest來檢測控制器操作是否使用Ajax請求調用。作爲替代方案,我建議將視圖拆分爲更小的片段,以便您的About.aspx視圖使用局部視圖,例如,通過做Html.RenderPartial(「AboutBox」)。這給你重用的力量,而不必用if語句來干擾你的行爲。