2010-10-05 12 views

cevap

64

tüm AJAX çağrıları (ajax için jquery kullanıyorum). Denetlenecek başlık X-Requested-With olup, AJAX çağrısı olduğunda değer XMLHttpRequest olacaktır.

AJAX isteklerinin normal GET veya POST olduğunu unutmayın, bu nedenle (veya jQuery gibi AJAX kitaplığınız) istekte ek bir başlık ekledikçe, AJAX olup olmadığını kesin olarak bilmenin bir yolu yoktur. Eğer MVC sonraki bir sürümünü kullanıyorsanız

+2

tamam, peki bu başlığı asp.net'de nasıl kontrol ederim? – Omu

+2

@Omu: 'Request.Headers [" X-İstenen-With "]' veya benzeri. MSDN'yi kontrol et. Başlıklar ** her zaman ** isteklerle ilgilidir. –

156

da Request.IsAjaxRequest var. new HttpRequestWrapper(Request).IsAjaxRequest()

+1

Ben Global.asax.cs içinde bu onay yüzden bu bana – Omu

+0

@Omu yardımcı olmaz gerek @BuildStarted: global.asax.cs hangi olay bağlıdır. Bu bool özelliği, RedFiler'in önerdiği dahili olarak aynı şeyi yapar. Ve başlıkların ** her zaman taleplerle ilgili olduğunu aklınızdan çıkarmayın **. –

+0

'IsAjaxRequest',' HttpRequestBase' için bir uzantıdır, bu nedenle 'Request''in kullanılabilir olduğu her yerde kullanılabilir olmalıdır. – Buildstarted

48

de ASP benim için çalışıyor: Ben Global.asax.cs içinde bu onay bu deneyin gerekiyorsa o sürümü 1.

içinde bile olsa diyemeyiz böylece artık versiyon 1 yok .NET MVC 3

if (Request.IsAjaxRequest()) 
{ 
    // ajax request handled 
} 
+1

kullanılamaz filterContext.HttpContext.Request.IsAjaxRequest – ajbeaven

+1

bu mevcut değildir Application_BeginRequest – Varadha31590

+0

kullanılamaz Application_Error – Morgs

İlgili konular