在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~

后来考虑到界面问题,想把button2按钮给隐藏掉,然后设置button2的visible的属性为false.运行是却出现了如下的错误:
回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
把button2的visible的属性重新该为true,问题就不在重新出现,现在对此不能理解
麻烦知道的朋友告诉一声.谢谢!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值