Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NETMVC4中有两个表单,并使用ajax发布其中一个表单_C#_Asp.net_Jquery_Asp.net Mvc 4_File Upload - Fatal编程技术网

C# 在ASP.NETMVC4中有两个表单,并使用ajax发布其中一个表单

C# 在ASP.NETMVC4中有两个表单,并使用ajax发布其中一个表单,c#,asp.net,jquery,asp.net-mvc-4,file-upload,C#,Asp.net,Jquery,Asp.net Mvc 4,File Upload,我正在开发一个ASP.NETMVC4Web应用程序。我是web应用程序的初学者。我的问题是文件上传和ajax。我有两张表格。其中一个是从用户处获取数据,如姓名、家庭等。另一个是上传图片。我希望用户能够在提交注册之前上传图像,并在标签中查看上传的图像。这是我的密码: 查看 Javascript [HttpPost] public string UploadImage(HttpPostedFileBase imgfile) { string fileP

我正在开发一个ASP.NETMVC4Web应用程序。我是web应用程序的初学者。我的问题是文件上传和ajax。我有两张表格。其中一个是从用户处获取数据,如姓名、家庭等。另一个是上传图片。我希望用户能够在提交注册之前上传图像,并在
标签中查看上传的图像。这是我的密码:

查看

Javascript

[HttpPost]
public string UploadImage(HttpPostedFileBase imgfile)
    {            
        string filePath = "";
        if (imgfile != null && imgfile.ContentLength > 0)
        {
            filePath = Path.Combine(Server.MapPath("~/Customer/"), imgfile.FileName);
            imgfile.SaveAs(filePath);                
        }
        return "~/Customer/" + imgfile.FileName;
    }

现在的问题是,当我选择一个文件并点击
Upload
按钮时,调用
UploadImage()
操作并上载文件,但是ajax的成功事件没有被调用,它将我重定向到另一个名为
localhost/Customer/UplaodImage
的页面,它的内容只是
UploadImage
返回的文件路径。有可能做到这一点吗?或者我不能使用ajax发布表单数据而不重定向到其他页面?非常感谢您的帮助。

据我所知,您不能通过常规AJAX发布文件。使用一些帮助程序库:,等等

更新:

答复如下:

XHR2支持通过AJAX上传文件。例如通过 对象,但遗憾的是,all/old不支持它 浏览器


正如我所知,您不能通过常规AJAX发布文件。使用一些帮助程序库:,等等

更新:

答复如下:

XHR2支持通过AJAX上传文件。例如通过 对象,但遗憾的是,all/old不支持它 浏览器


上传工作正常,文件已上传。问题是它将我重定向到另一个页面。我想停留在注册页面。这是因为请求无法成功完成!只有当您得到
200(确定)
响应时,请求才会被称为成功。相信我,我几年前就试过了,你只是觉得累了。使用图书馆。FileUploader是一个很好的上传程序。上传工作正常,文件被上传。问题是它将我重定向到另一个页面。我想停留在注册页面。这是因为请求无法成功完成!只有当您得到
200(确定)
响应时,请求才会被称为成功。相信我,我几年前就试过了,你只是觉得累了。使用图书馆。FileUploader是个不错的选择。
[HttpPost]
public string UploadImage(HttpPostedFileBase imgfile)
    {            
        string filePath = "";
        if (imgfile != null && imgfile.ContentLength > 0)
        {
            filePath = Path.Combine(Server.MapPath("~/Customer/"), imgfile.FileName);
            imgfile.SaveAs(filePath);                
        }
        return "~/Customer/" + imgfile.FileName;
    }
$('#ImageUploadForm').submit(function () {
    if ($(this).valid()) {
        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function (result) {
                $('.img').attr('src', result);
            }
        })
        return false;
    }        
});