我有一个表单所有设置上传一个文件,这是工作正常。但是,我的表单是通过AJAX提交的。在JS关闭的情况下,提交按钮仍然是一个type="submit“。
当我保存表单时,控制器判断IsAjaxRequest是否为真,如果是,则返回一些RedirectToAction,否则返回一个JSON。
当我没有在输入文件“type=”中指定文件路径时,它认为IsAjaxRequest为真。如果设置了文件路径,则认为IsAjaxRequest为false。它如何确定这一点?
我的另一个问题是,当它认为IsAjaxRequest为false并执行RedirectToAction(“索引”)时,我实际上不会被发送到索引视图。
谢谢
发布于 2009-06-16 15:09:53
也许问题不在IsAjaxRequest()中?-它只是在传入的请求中查找["X-Requested-With"] == "XMLHttpRequest"。看看Mvc\AjaxRequestExtensions.cs
public static class AjaxRequestExtensions {
public static bool IsAjaxRequest(this HttpRequestBase request) {
if (request == null) {
throw new ArgumentNullException("request");
}
return (request["X-Requested-With"] == "XMLHttpRequest")
|| ((request.Headers != null)
&& (request.Headers["X-Requested-With"] == "XMLHttpRequest"));
}
}https://stackoverflow.com/questions/1002012
复制相似问题