怎样在UpdatePanel里使用FileUpload控件

曾在开发ATLAS时候,想用UpdatePanel (UP)来上传文件,但是没有想到FileUpload (FU)控件不能在UP里使用,这里有个小技巧,可以让你的FU控件在UP里面起做用. 来看代码:

HTML:

None.gif      < div >
None.gif        
< atlas:ScriptManager  ID ="ScriptManager1"  runat ="server"  EnablePartialRendering ="true" >
None.gif        
</ atlas:ScriptManager >
None.gif        
< atlas:UpdatePanel  ID ="UpdatePanel1"  runat ="server" >
None.gif            
< ContentTemplate >
None.gif                
< asp:FileUpload  ID ="FileUpload1"  runat ="server"   />< asp:Button  ID ="cmdButton1"  runat ="server"
None.gif                    Text
="Upload"   />< asp:Label  ID ="Label1"  runat ="server"  Text ="" ></ asp:Label >
None.gif            
</ ContentTemplate >
None.gif        
</ atlas:UpdatePanel >
None.gif   
None.gif        
< asp:Button  ID ="cmdButton2"  OnClick ="cmdButton2_click"   runat ="server"  Text ="Full post back"   />  
None.gif        
</ div >

CODE BEHIND:
ExpandedBlockStart.gif ContractedBlock.gif      Protected   Sub Page_Load() Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load
InBlock.gif
InBlock.gif        
Me.cmdButton1.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(Me.cmdButton2, ""))
InBlock.gif
ExpandedBlockEnd.gif    
End Sub

None.gif
ExpandedBlockStart.gifContractedBlock.gif    
Protected   Sub cmdButton2_Click() Sub cmdButton2_Click(ByVal sender As ObjectByVal e As System.EventArgs)
InBlock.gif        
If Me.FileUpload1.HasFile Then
InBlock.gif            System.Threading.Thread.Sleep(
1000)
InBlock.gif            
Me.Label1.Text = Me.FileUpload1.FileName
InBlock.gif        
End If
ExpandedBlockEnd.gif    
End Sub


这样的话,当你在点击UP里面的UPLOAD按钮时,整个页面就会回传,当然你的可以找到你FU控件里面的文件,所以上传文件是没问题. OK~

P.S. 虽然解决这个问题,但是那个多余的BUTTON控件和整个页面的回传都是瑕疵. 当然希望ATALS团队在开发的时候,能够考虑到这一点,给我们开发者带来更多的惊喜!

P.S. Atlas关于UpdatePanel的使用说明-- 原文链接

转载于:https://www.cnblogs.com/lgp/archive/2006/10/16/530148.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值