在Webpart中使用 UserControl
Webpart中可以使用两种UserControl,一种是我们自己开发的UserControl,另一种是SharePoint自带的UserControl。
1.使用我们自己开发的UserControl
(1)首先我们创建一个ClassLib工程,添加一个UserControl.ascx,并且实现这个UserControl的后台程序,这样我们就完成了一个自定义的UserControl。
(2)创建一个SharePoint的Webpart工程,然后添加对上面ClassLib的引用,并且使用Page.LoadControl()方法了调用这个自定义的UserControl,这里需要注意的是Page.LoadControl()方法的参数应该是”~/UserControl.ascx”,这里只是一个相对的路径,需要自己进行调整,只要能够取得这个UserControl就可以了。
2.使用SharePoint中的UserControl
这种方法就不用创建自己的ClassLib工程了,只需要创建一个Webpart工程即可,并且也是用Page.LoadControl()方法来取得相应的自定义控件,只是这个参数是固定的,就拿我们要SharePoint中的 ToolbarButton控件为例,参数应该是"~/_controltemplates/ToolBarButton.ascx",也就是说前面的~/_controltemplates是固定的,所有的SharePoint的UserControl都部署到这个目录下,由于这个目录是一个IIS的虚拟路径,所以可以直接访问。但是使用Page.LoadControl()方法返回的是一个Control对象,所以需要根据这个控件的类型进行相应的转换,在转换之后才能够进行使用。
ToolBarButton btn1 = (ToolBarButton)this.Page.LoadControl("~/_controltemplates/ToolBarButton.ascx");