2009-06-18 7 views
2

特に、どのようにして静的メソッドRequest.IsAjaxRequest()を渡すことができますか?私は部品番号を使用していASP.NET MVCでajaxサブミットをテストする方法は?

if (Request.IsAjaxRequest()) 
{ 
    return Json(data); 
} 
return View(data2); 

:私は、次のコードをテストしようとすると、

私は例外「System.ArgumentNullException」を取得します。助けてくれてありがとう。

答えて

5

あなたは)Request.IsAjaxRequest(で動作するように要求してRequest.Headersをからかっ必要があります:私はまだ例外を取得

var request = new Mock<HttpRequestBase>(); 
request.SetupGet(x => x.Headers).Returns(new System.Net.WebHeaderCollection { 
    {"X-Requested-With", "XMLHttpRequest"} 
}); 

var context = new Mock<HttpContextBase>(); 
context.SetupGet(x => x.Request).Returns(request.Object); 

var controller = new YourController(); 
controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); 
+0

。私の編集した質問を見てください – eKek0

関連する問題