首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于文件上传来切换IsAjaxRequest属性的ASP.Net MVC?

基于文件上传来切换IsAjaxRequest属性的ASP.Net MVC?
EN

Stack Overflow用户
提问于 2009-06-16 14:53:55
回答 1查看 216关注 0票数 0

我有一个表单所有设置上传一个文件,这是工作正常。但是,我的表单是通过AJAX提交的。在JS关闭的情况下,提交按钮仍然是一个type="submit“。

当我保存表单时,控制器判断IsAjaxRequest是否为真,如果是,则返回一些RedirectToAction,否则返回一个JSON。

当我没有在输入文件“type=”中指定文件路径时,它认为IsAjaxRequest为真。如果设置了文件路径,则认为IsAjaxRequest为false。它如何确定这一点?

我的另一个问题是,当它认为IsAjaxRequest为false并执行RedirectToAction(“索引”)时,我实际上不会被发送到索引视图。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2009-06-16 15:09:53

也许问题不在IsAjaxRequest()中?-它只是在传入的请求中查找["X-Requested-With"] == "XMLHttpRequest"。看看Mvc\AjaxRequestExtensions.cs

代码语言:javascript
复制
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"));
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1002012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档