C# 在ASP.NETMVC4中有两个表单,并使用ajax发布其中一个表单
我正在开发一个ASP.NETMVC4Web应用程序。我是web应用程序的初学者。我的问题是文件上传和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
标签中查看上传的图像。这是我的密码:
查看
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;
}
});