杜隆塔尔的红色海岸

几多天真的理想.几多找到是颓丧

文章:21 评论:213 浏览:77126

首先我很遗憾的告诉大家,因为微软的偷懒,目前UpdatePanel还不支持文件上传。变相的解决办法就是UpdatePanel中设置PostBackTrigger:

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click" /> </ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID="Button1" /> </Triggers> </asp:UpdatePanel>

而如果你又想在这个UpdatePanel上做点花样,比如加了一个asp:Panel, 可以通过按钮事件触发隐藏或显示的,你会发现FileUpload1并不能找到文件。。。

其实道理很简单,UpdatePanel中的内容是通过XmlHttp实时填充的,在你让他显示之前,查看页面源代码里面是空的。一个动态控件更新普通数据没问题,但上传文件就不行了,我的解决办法是用普通div代替asp:Panel,并写了2个函数来动态发送控制脚本,按钮事件中只要调用该函数即可:

<div id="Panel1"></div> private void ShowPanel() { string script = "document.getElementById('Panel1').style.display='';"; ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "ShowPanel", script, true); } private void ClosePanel() { string script = "document.getElementById('Panel1').style.display='none';"; ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "ClosePanel", script, true); }

posted @ 2007-10-19 20:28:28 Leisang 阅读(3733) | 评论(1) | 编辑
昵称:
主页:
内容:
验证码:
关于我们 | 联系我们 | 客服中心 | 免责声明 | 合作伙伴
CopyRight 2006-2007© www.OrgAct.com(组织活动网) All Right Reserved 浙ICP备12345678号
Version: 1.0Beta