我有一個HomeController
的動作About
。我想要實現這個行爲:如何使視圖呈現完全或部分?
Case #1
用戶打開/home/about
頁面和視圖渲染完全(return View();
)
Case #2
用戶在首頁,並點擊一個鏈接about
,我想用history.pushState
更改URL和渲染它部分(return PartialView();
)
我該如何實現這種行爲?
我有一個HomeController
的動作About
。我想要實現這個行爲:如何使視圖呈現完全或部分?
Case #1
用戶打開/home/about
頁面和視圖渲染完全(return View();
)
Case #2
用戶在首頁,並點擊一個鏈接about
,我想用history.pushState
更改URL和渲染它部分(return PartialView();
)
我該如何實現這種行爲?
您可以使用Request.IsAjaxRequest來檢測控制器操作是否使用Ajax請求調用。作爲替代方案,我建議將視圖拆分爲更小的片段,以便您的About.aspx視圖使用局部視圖,例如,通過做Html.RenderPartial(「AboutBox」)。這給你重用的力量,而不必用if語句來干擾你的行爲。
又一個。在ActionMethodSelectorAttribute
Restrict ASP.NET MVC Action's Using The ActionMethodSelectorAttribute
選擇動作方法控制。