【问题标题】:Sharepoint custom Web PartSharepoint 自定义 Web 部件
【发布时间】:2012-01-20 19:49:20
【问题描述】:

我有一个从 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.webpart.aspx 修改的代码 sn-p :

public class WebPartBla : Microsoft.SharePoint.WebPartPages.WebPart
{
    private ArrayList someList;

    protected override void CreateChildControls()
    {
        someList = new ArrayList();

        SPWeb myWeb = SPControl.GetContextWeb(this.Context);
        foreach(SPList list in myWeb.Lists)
        {
            if (list.BaseTemplate == SPListTemplateType.Tasks)
            {
                someList(list.Description);
            }
        }
    }

    /// <summary>
    /// Render this Web Part to the output parameter specified.
    /// </summary>
    /// <param name="output"> The HTML writer to write out to </param>
    protected override void RenderWebPart(HtmlTextWriter output)
    {
        string strHTML = "";
        for (int i = 0; i < someList.Count; i++)
        {
            strHTML = strHTML + "The task " + someList.Description + "<BR><BR>";
        }
        output.Write(strHTML);
    }
}

谁能帮帮我

  1. 如何将此代码用作 SharePoint Web 部件?
  2. 如何将其作为 Web 部件部署到共享点?
  3. 上面的 RenderWebPart 方法如何使用?

【问题讨论】:

    标签: c# sharepoint web-parts


    【解决方案1】:

    基本上,您需要在同一台机器上使用 Visual Studio 和 SharePoint 来进行任何开发。

    创建一个空的 sharepoint 项目,然后将 web 部件添加到项目中。将您拥有的代码放入 webpart 代码文件并构建解决方案(您需要指定本地 SP 的 URL 才能执行此操作)。然后,您可以通过右键菜单进行部署。此构建的一个附加组件是一个 WSP 文件,您可以将其部署到其他共享点环境。

    这里的 renderWebPart 方法允许您直接在代码中为 webpart 编写 HTML。此处的另一个选项是使用可视 Web 部件。

    这里有一个很好的教程(带图片),展示了如何创建一个 webpart http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/02/15/intro-to-sharepoint-2010-development-how-to-build-and-deploy-a-web-part.aspx

    【讨论】:

    • 谢谢, Sharepoint 引擎调用 renderWebPart 方法还是需要显式调用?
    • 嗨@Luke McGregor,如果你能澄清上面的查询会很棒
    • CreateChildControls 和 RenderWebPart 都由 ASP.Net\SharePoint 自动调用。最后调用渲染并输出要在页面上显示的html。
    • 仅供参考。使用 SharePoint 2010 和 SharePoint 2007 进行部署的步骤非常不同。 @flybyte,您可能想澄清您使用的是哪个版本。
    • Render webpart 实际上是由 webpart 框架调用的(在大多数情况下,它位于 sharepoint 之外),但从您的角度来看,是的,当您在 SP 中加载页面时,它由 sharepoint 调用,IE一堆 webpart,每个 webpart 都会调用 render webpart
    猜你喜欢
    • 2010-09-24
    • 1970-01-01
    • 2014-06-27
    • 2015-08-02
    • 2014-11-08
    • 2016-05-05
    • 2014-07-09
    • 2013-10-02
    • 2010-12-02
    相关资源
    最近更新 更多