从Sharepoint Web部件[c#]读取文本
我想从我的Web部件中阅读文本。这很简单:只有一行文字,没有其他内容。 我可以获取我的网页部件的属性(如标题、描述等),但无法获取其内容。你知道如何检索这些信息吗?提前谢谢从Sharepoint Web部件[c#]读取文本,c#,sharepoint,sharepoint-2010,web-parts,C#,Sharepoint,Sharepoint 2010,Web Parts,我想从我的Web部件中阅读文本。这很简单:只有一行文字,没有其他内容。 我可以获取我的网页部件的属性(如标题、描述等),但无法获取其内容。你知道如何检索这些信息吗?提前谢谢 using (SPSite site = new SPSite("http://mysite/pwa/some_web")) { using (SPWeb web = site.OpenWeb()) { SPFile file =
using (SPSite site = new SPSite("http://mysite/pwa/some_web"))
{
using (SPWeb web = site.OpenWeb())
{
SPFile file = web.GetFile("default.aspx");
using (SPLimitedWebPartManager wpm = file.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared))
{
foreach (Microsoft.SharePoint.Client.WebParts.WebPart wp in wpm.WebParts)
{
Console.WriteLine("Web part: {0}", wp.Title);
}
}
}
}
WebPart
是其他web部件类继承自的基类,并且只包含诸如Title
之类的公共属性。要读取特定属性,需要将该wp
对象强制转换为web部件的实际类
在foreach循环中:
MyWebPartClass mwp = (MyWebPartClass)wp;
Console.WriteLine(wp.SomeProperty);
其中
MyWebPartClass
继承WebPart
并声明属性SomeProperty
。请注意,您还应该首先检查wp
对象是否实际上是您类的一个web部件,以防同一页面上有更多web部件webpart
是其他web部件类继承的基类,并且只包含诸如Title
之类的公共属性。要读取特定属性,需要将该wp
对象强制转换为web部件的实际类
在foreach循环中:
MyWebPartClass mwp = (MyWebPartClass)wp;
Console.WriteLine(wp.SomeProperty);
其中
MyWebPartClass
继承WebPart
并声明属性SomeProperty
。请注意,您还应该首先检查wp
对象实际上是您类的一个web部件,以防同一页面上有更多web部件我认为,因为只有当web部件加载到web部件管理器中并显示在站点上时,才会生成html,因此您将度过一段不愉快的时光。。。为什么不更改Web部件,当它是“您的”时?它是生成一些数据的Web部件,我想在另一个Web部件中使用它。没有它的代码。你可以试着在服务器上找到它的程序集并寻找某种API…我认为,因为html只有在Web部件加载到Web部件管理器并显示在网站上时才会生成,你会过得很糟糕。。。为什么不更改Web部件,当它是“您的”时?它是生成一些数据的Web部件,我想在另一个Web部件中使用它。没有它的代码。你可以尝试在服务器上找到它的程序集,并寻找某种API。。。