在sharepoint自定义webpart中使用asp.net用户控件

时间:2011-01-05 08:05:15

标签: c# sharepoint user-controls sharepoint-2007

所以我需要创建一个webpart。我想对设计过程进行一些控制,然后为控件创建代码然后构建/编译等待app-recycle然后F5共享点,冲洗和重复站点是一种痛苦。

我读到可以创建一个常规用户控件,并在webpart中加载。理想我认为 - 但是!

所有共享点的东西怎么样?像属性一样,与sharepoint列表交互等等?如何从用户控件中实现这一目标?

我需要的是,一个webpart首先显示一个共享点列表中一个项目的信息,其次需要显示另一个共享点列表中的可滚动项目列表。

是否有一种奇特的方式来获得相同的“环境”,或者我应该这样:

using(SPSite site = new SPSite("http://mysite/")){
    using(SPWeb web = new SPWeb("myWeb")){
         //Fill a listbox with web.lists["myList"];
    }
}

从我的usercontrol的代码隐藏?

2 个答案:

答案 0 :(得分:1)

是的,这就是写作方式。

只是不是直接编写webpart,而是编写usercontrol,然后将其托管在包装器webpart中。

这种方法的优点是您可以让设计人员创建在创建usercontrol时可用的UI元素。对于sharepoint 2007,包装器webpart已经可用,称为智能部件。对于smartpart,您只需指定要加载的用户控件(.ascx)的位置即可。

在sharepoint 2010中,可以使用Visual Studio 2010开箱即用。

http://smartpart.codeplex.com/

答案 1 :(得分:0)

您必须创建扩展WebPart类的简单Web部件。在其中,您可以通过覆盖CreateChildControls方法添加自己的控件。您可以在控件的构造函数中传递任何必需的参数。至于属性,您可以在包装器Web部件中描述它们,并将其映射到控件属性。