回答:
jQueryによって行われるすべてのAJAX呼び出しには、AJAXであることを示すヘッダーが追加されます。チェックするヘッダーはX-Requested-With
で、値はXMLHttpRequest
AJAX呼び出しの場合になります。
AJAXリクエストは通常のGETまたはPOSTであるため、あなた(またはjQueryのようなAJAXライブラリ)がリクエストに追加のヘッダーを追加しない限り、それがAJAXであるかどうかを確実に知る方法はありません。
Request.Headers["X-Requested-With"]
または類似。MSDNを確認してください。ヘッダーは常にリクエストに関連しています。
Request.IsAjaxRequest
新しいバージョンのMVCを使用している場合もあります。バージョン1はもう使用していないので、バージョン1かどうかはわかりません。
Global.asax.csでこのチェックが必要な場合は、次のことを試してください。
new HttpRequestWrapper(Request).IsAjaxRequest()
HttpRequestBase
です。私はそれを必要としていなかったので、あまり深く見ていませんでした。ヘッドアップをありがとう。
ASP.NET MVC 3で動作します
if (Request.IsAjaxRequest())
{
// ajax request handled
}
new HttpRequestWrapper(Request).IsAjaxRequest()