在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);
}
{
PostBackTrigger trigger = new PostBackTrigger();
trigger.ControlID = this.btnFileUpload.UniqueID;
up.Triggers.Add(trigger);
}
然后在调用UserControl的页面登录后调用RegisterFileUpload方法即可。
最终效果为: