Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以编程方式创建包含Web部件的Web部件页_C#_Sharepoint_Web Parts - Fatal编程技术网

C# 以编程方式创建包含Web部件的Web部件页

C# 以编程方式创建包含Web部件的Web部件页,c#,sharepoint,web-parts,C#,Sharepoint,Web Parts,我想创建几个包含自定义web部件的web部件页面(以编程方式)。 我已经搜索了internetz,但找不到任何我可以去工作的东西 以下是我迄今为止的代码(我在其中创建了欢迎页面,而不是Web部件页面): 请帮帮我 谢谢。您可以使用SPLimitedWebPartManager和您的Web部件定义URL添加Web部件。这个例子应该让您开始: XmlTextReader reader = new XmlTextReader(new StringReader(web.GetFileAsString(&

我想创建几个包含自定义web部件的web部件页面(以编程方式)。 我已经搜索了internetz,但找不到任何我可以去工作的东西

以下是我迄今为止的代码(我在其中创建了欢迎页面,而不是Web部件页面):

请帮帮我


谢谢。

您可以使用
SPLimitedWebPartManager
和您的Web部件定义URL添加Web部件。这个例子应该让您开始:

XmlTextReader reader = new XmlTextReader(new StringReader(web.GetFileAsString(<Url to your .webpart file here>)));

SPLimitedWebPartManager wpm = web.GetLimitedWebPartManager(<URL to your page>, Syste.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

WebPart wp = (WebPart) wpm.ImportWebPart(reader, out errMsg);
wp.Title = "My Title for this webpart";

wpm.AddWebPart(wp, <Name of WebpartZone here, e.g. "Header">, <Zone Index here>);
wpm.SaveChanges(wp);
XmlTextReader=newXMLTextReader(newStringReader(web.GetFileAsString());
SPLimitedWebPartManager wpm=web.GetLimitedWebPartManager(,Syste.web.UI.WebControls.WebParts.PersonalizationScope.Shared);
Web部件wp=(Web部件)wpm.ImportWebPart(读卡器,输出错误消息);
wp.Title=“此网页部件的我的标题”;
wpm.AddWebPart(wp,);
wpm.SaveChanges(wp);

在您填空后,此代码将在您的发布页面上放置一个Web部件。最后,在为发布页面实例化Web部件管理器时,最重要的功能是
SPLimitedWebPartManager.ImportWebPart
SPLimitedWebPartManager.AddWebPart

好的,做了一些挖掘。。。这是我的解决办法

using(SPSite site = new SPSite("http://my.dev.com"))
{
    using(SPWeb web = site.OpenWeb())
    {
        SPFile page = web.GetFile("SitePages/Welcome.aspx");
        using(SPLimitedWebPartManager manager = page.GetLimitedWebPartManager(PersonalizationScope.Shared))
        {
            string errMsg = string.Empty;
            SPFile myWebPart = web.GetFile("_catalogs/wp/myWebPart.webpart");
            XmlTextReader read = newXmlReader(myWebPart.OpenBinaryStream());
            var wp = manager.ImportWebPart(read, out errMsg);
            manager.AddWebPart(wp, "<Webpart Zone>", 1);
            manager.SaveChanges(wp);
        }  
    }
}
使用(SPSite站点=新SPSite(“http://my.dev.com"))
{
使用(SPWeb=site.OpenWeb())
{
SPFile page=web.GetFile(“SitePages/Welcome.aspx”);
使用(SPLimitedWebPartManager=page.GetLimitedWebPartManager(PersonalizationScope.Shared))
{
string errMsg=string.Empty;
SPFile myWebPart=web.GetFile(“_catalogs/wp/myWebPart.webpart”);
XmlTextReader read=newXmlReader(myWebPart.OpenBinaryStream());
var wp=manager.ImportWebPart(读取,输出errMsg);
添加网页部件(wp,“,1);
保存更改(wp);
}  
}
}
using(SPSite site = new SPSite("http://my.dev.com"))
{
    using(SPWeb web = site.OpenWeb())
    {
        SPFile page = web.GetFile("SitePages/Welcome.aspx");
        using(SPLimitedWebPartManager manager = page.GetLimitedWebPartManager(PersonalizationScope.Shared))
        {
            string errMsg = string.Empty;
            SPFile myWebPart = web.GetFile("_catalogs/wp/myWebPart.webpart");
            XmlTextReader read = newXmlReader(myWebPart.OpenBinaryStream());
            var wp = manager.ImportWebPart(read, out errMsg);
            manager.AddWebPart(wp, "<Webpart Zone>", 1);
            manager.SaveChanges(wp);
        }  
    }
}