网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

使UpdatePanel支持上传文件

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
需要进行Html Decod——这在JavaScript中可不是一件容易实现的工作。最后我从网上找了一个JavaScript版本的HTML Decode函数才算解决这个问题。此外还有一个问题就和浏览器密切相关了:IE中的换行字符为“\r\n”,而FireFox中的换行字符为“\n”,因此同样的字符串经过IFrame的传递之后实际就改变了。在普通情况下这不会造成太大问题,不过UpdatePanel客户端的解析逻辑与字符串长度密切相关,因此我们需要将结果中的\n替换成\r\n才能让功能正常运行。同样地,我们在服务器端如果手动输出HTML时,就必须输出\r\n而不是\n。

  经过我的简单测试,这个方法能够支持IE6+以及FireFox 1.5+的浏览器,不过没有测试过Safari或Opera浏览器。理论上,您可以使用更好的办法来替换这个基于jQuery的实现,甚至您可以避免使用IFrame传递的方式,而改用其他的解决方案,例如swfupload。如果您发现示例中的方法有什么问题,或者有更好的做法请联系我。



控件的使用
  由于UpdatePanelFileUpload控件的工作原理是欺骗ScriptManager,将其修改为普通异步调用的状态,因此我们要尽可能早地做到这一点。所以在使用这个控件时必须将其紧跟着ScirptManager摆放,页面中的ScriptManager和UpdatePanelFileUpload控件之间存在任何其他ASP.NET AJAX控件,就可能会产生一些不可预知的问题。以下是附件中的使用示例:

<script type="text/C#" runat="server">
protected void btnUpload_Click(object sender, EventArgs e)
{
this.lblFileSize.Text = this.fileUpload.PostedFile.ContentLength.ToString();
}
</script>

<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="sm">
<Scripts>
<asp:ScriptReference Path="Scripts/jquery-1.2.3.js" />
<asp:ScriptReference Path="Scripts/jquery.form.js" />
</Scripts>
</asp:ScriptManager>
<ajaxExt:UpdatePanelFileUpload ID="UpdatePanelFileUpload1" runat="server"
ExecuteMethod="executeForm" />

<asp:UpdatePanel runat="server" ID="up1">
<ContentTemplate>
<%= DateTime.Now %><br />
<asp:Label runat="server" ID="lblFileSize" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnUpload" />
</Triggers>
</asp:UpdatePanel>

<asp:FileUpload runat="server" ID="fileUpload" />
<asp:Button runat="server" ID="btnUpload" Text="Upload"
onclick="btnUpload_Click" />
</form>

/uploads/soft/1_080728033253.zip

  • 下一篇资讯: 通过User Control生成HTML
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号