关于FileUpload1.HasFile始终为false的问题

wangzhen199009 2012-12-03 09:49:15
为实现上传照片,然后在指定区域无刷新显示的功能。
首先,在A.aspx中添加了一个FileUpload控件,然后添加一个<input id="upload" type="submit" value="上传" />,当点击时,然后交到js文件处理,js文件负责两件事。第一件事,就是利用$.ajax把有关的数据信息(比如id信息,因为图片的名称是根据id来确定的)发到A.aspx.cs后台,然后就在后台把该图片存储到服务器上。第二件是,就是利用$("photoid").src=...;来显示图片。

在这里就是问下第一件事。就是把id发送到A.aspx.cs后台,然后根据id信息,把图片以结合id的形式来命名,并存储到服务器上,代码如下:

protected void Page_Load(object sender, EventArgs e)
{
if (Request.Params["userid"] != null)
{
string savepath = Server.MapPath("~/images/");
if (!System.IO.Directory.Exists(savepath))
{
System.IO.Directory.CreateDirectory(savepath);
}
if (FileUpload1.HasFile)
{
if (Session["userid"] != null)
{
string extention = System.IO.Path.GetExtension(savepath + FileUpload1.FileName);//文件后缀类型
string filename = Session["userid"].ToString() + extention;
FileUpload1.SaveAs(savepath + filename);
}

}
}


}



但是FileUpload1.HasFile总是为false。
如果你在页面上使用<asp:Button>提交时它就是true。
但是为什么利用这种$.ajax方式就出错了。我想是不是当提交数据到Page_Load时,一些服务器控件信息还没有全部加载??请大神指点
...全文
390 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangzhen199009 2013-01-04
  • 打赏
  • 举报
回复
应该是Page_Load时,一些服务器控件信息还没有全部加载。ajax fileupload好用,问题已经解决
conan8126 2012-12-04
  • 打赏
  • 举报
回复
解决方法请参考 http://www.cnblogs.com/xuqiang/archive/2010/06/07/1953653.html
myhope88 2012-12-04
  • 打赏
  • 举报
回复
不能与ajax相结合吧,参考其它第三方控件吧
neell 2012-12-03
  • 打赏
  • 举报
回复
fileupload不适合在任何情况下与AJAX混用以达到无刷新。要想达到ajax上传无刷新,可以改用第三方控件或者ajaxcontroltoolkit里的控件来实现

62,050

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧