我有一个jQuery AJAX调用,它将表单对象发送到服务器。实际上我想使用html输入文件和输入提交按钮发送此iam的文件对象。
<form id="form1" runat="server" method="post" enctype="multipart/form-data">
<input type="file" id="myFile" name="myFile" />
<input id="Button1" type="submit" value="Submit" />
<form>
这是我的提交点击
$('#Button1').click(function (event) {
$.ajax({
type: "POST",
url: "Test.aspx/ag",
data: {},
processData: false,
contentType: false,
success: function (data) {
alert(data);
}
});
});
背后的代码是
[System.Web.Services.WebMethod]
public static int ag()
{
HttpPostedFile file = HttpContext.Current.Request.Files["myFile"];
}
Webmethod不再被解雇,而是正在触发webmethod所在页面的Page_load。为什么?我能做什么?在服务器端,我想获取文件。我正在使用框架4.0。
答案 0 :(得分:0)
这种情况正在发生,因为您使用的是“提交”按钮,这意味着当您需要将其类型从“提交”更改为“按钮”时,将提交表单。
答案 1 :(得分:0)
在您的Site.Master中的asp:ScriptManager元素中,确保它包含EnablePageMethods =“ true”属性