2012-04-05 30 views
1

在一個項目中,我們對同一個動作使用PartialView和View,具體取決於它的調用方式(感謝Request.IsAjaxRequest())。但有些地方我們需要在頁面上顯示一個操作(而不是ajax)。如何識別通過Html.RenderAction()發送的請求

所以我們使用了HTML幫助:

Html.RenderAction(Action, Controller, routeValues) 

但這種呼籲也應該返回PartialView,而不是一個視圖。由於這看起來不是Ajax調用,所以我們不能使用Request.IsAjaxRequest()方法來確定請求的發送方式。

我想知道是否有什麼我們可以使用,可以確定請求是否由Html.RenderAction調用?

+0

這不是我要問的。我知道我可以提出Ajax請求,但我不想。我所有的ajax請求都是通過jQuery在正常請求之上完成的...... Html.RenderAction不是通過Ajax完成的。 – Whoami 2012-04-05 12:46:21

+0

或者您可以回答自己的問題並將其標記爲已接受... – Rafay 2012-04-05 15:00:17

+0

我必須等待一些時間才能回答我自己的問題... – Whoami 2012-04-05 16:09:26

回答

0

我通過搜索整個請求/控制器上下文找到了解決方案,最終在ControllerContext上找到了屬性IsChildAction。這表明該操作是通過Html.RenderAction還是通過URL調用的。