在UpdatePanel中应用UserControl页面FileUpload控件实现文件上传

近来在做一项目时,本着复用的原则,将FileUpload控件封装到了UserControl页面。然后在需要用到上传功能的页面调用该UserControl。可是这时却面临一个问题:一般情况下,UpdatePanel控件中的FileUpload在服务端是取不出值的。那么,怎么在尽量保持将FileUpload包在Usercontrol页面的前提下,在服务端取出FileUpload中的文件信息?

还好,受到“lee”的博客文章:http://leehai.blog.51cto.com/757045/153736,的启发,然后顺利地实现既让FileUpload控件被包含在UserControl页面,又能在UpdatePanel控件中实现上传的目的。

具体代码如下:

UserControl页面写一个方法:

public void RegisterFileUpload(UpdatePanel up)
    {
        PostBackTrigger trigger 
= new PostBackTrigger();
        trigger.ControlID 
= this.btnFileUpload.UniqueID;
        up.Triggers.Add(trigger);    
    }

 

然后在调用UserControl的页面登录后调用RegisterFileUpload方法即可。

最终效果为:

posted @ 2010-12-07 16:18  Shapley  阅读(303)  评论(0编辑  收藏  举报