怎样在UpdatePanel里使用FileUpload控件

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

HTML:

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

CODE BEHIND:
     Protected   Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load

        
Me.cmdButton1.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(Me.cmdButton2, ""))

    
End Sub


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


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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值