在updatepanel中使用fileupload控件
方案一、如果將scriptmanager的enablepartialrending設(shè)為false則可以正確上傳,這個(gè)方法最簡單,但是會(huì)有缺陷,就是在同一個(gè)頁面上的多個(gè)UpdatePanel不可以獨(dú)自刷新了。另外,當(dāng)你的UpdatePanel中存在Validator的話,會(huì)造成整個(gè)頁面postback,這個(gè)問題似乎是Altas的一個(gè)bug.
方案二、摘自http://www.netfocus.cn/article950.html
1:主頁面中使用UpdatePanel,然后UpdatePanel里面放置的不是FileUpload控件,而是一個(gè)Iframe
2:這個(gè)iframe在鏈接一個(gè)新的頁面,那個(gè)頁面里面有FileUpload控件。
3:上傳完畢后,告訴主頁面上傳得結(jié)果
先看一個(gè)直接使用FileUpload的例子:這個(gè)例子里面,服務(wù)端是無法找到上傳文件的。
????????????????<ContentTemplate>
????????????????????<asp:FileUpload?ID="FileUpload1"?runat="server"?/>
????????????????????<asp:Button?ID="Button1"?runat="server"?Text="Button"?OnClick="Button1_Click"?/>
?????????????????<?SPAN>ContentTemplate>
????????????<?SPAN>atlas:UpdatePanel>
?
?
看看,我們?cè)撊绾螌?shí)現(xiàn)
1:新建主頁面Default.aspx
????? 在適當(dāng)?shù)奈恢?#xff0c;放置一個(gè)上傳附件的UpdatePanel區(qū)域
????????????????<ContentTemplate>
???????????????????<iframe?id="file"?name="file"?src="attachment.aspx"><?SPAN>iframe>
????????????????<?SPAN>ContentTemplate>
????????????<?SPAN>atlas:UpdatePanel>
?
2:新建上傳文件的頁面attachment.aspx,然后放上FileUpload控件
<div>????<asp:FileUpload?ID="FileUpload1"?runat="server"?/>
??????????<asp:Button?ID="Button1"?runat="server"?Text="OK"?OnClick="Button1_Click"?/>
????<?SPAN>div>
3:在attachment.aspx里面,上傳文件之后調(diào)用主頁面的js,報(bào)告上傳情況。這是函數(shù)原型:
?
?<script>???????window.top.callBack(fileName);
????<?SPAN>script>
?
?
4:Default.aspx主頁面里面增加這個(gè)函數(shù),處理返回值
?
<script>??????function?callBack(fileName)
??{
?????????document.getElementById('Attach1').innerHTML=fileName;
???}
????<?SPAN>script>
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/yinpeng186/archive/2009/12/08/1619186.html
總結(jié)
以上是生活随笔為你收集整理的在updatepanel中使用fileupload控件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL数据类型详解
- 下一篇: Apache安装及jboss部署说明文档