从Sharepoint WebPart中读取文本[c#]

时间:2015-09-22 08:55:59

标签: c# sharepoint sharepoint-2010 web-parts

我想从我的webpart读取文本。它很简单:只是一行文字 - 没有别的。 我可以获得我的webparts的属性(如title,desc等),但无法获得它的内容。有任何想法如何检索这些信息?提前谢谢。

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);
                    }
                }
            }
        }

1 个答案:

答案 0 :(得分:0)

WebPart是其他Web部件类继承的基类,仅包含Title等公共属性。要读取特定属性,需要将该wp对象强制转换为Web部件的实际类。

在foreach循环中:

MyWebPartClass mwp = (MyWebPartClass)wp;
Console.WriteLine(wp.SomeProperty);

MyWebPartClass继承WebPart并声明属性SomeProperty。请注意,您还应首先检查wp对象实际上是您班级的Web部分,以防同一页面上有更多Web部件