gpt4 book ai didi

asp.net-mvc - 如何在 ASP.NET MVC 中测试 ajax 提交?

转载 作者:行者123 更新时间:2023-12-01 11:10:00 26 4
gpt4 key购买 nike

具体来说,如何传递静态方法 Request.IsAjaxRequest()?

当我尝试测试以下代码时出现异常“System.ArgumentNullException”:

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

我正在使用最小起订量。感谢您的帮助。

最佳答案

您需要模拟 Request 和 Request.Headers 才能使用 Request.IsAjaxRequest():

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);

关于asp.net-mvc - 如何在 ASP.NET MVC 中测试 ajax 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1010900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com