【问题标题】:How to change web part property values如何更改 Web 部件属性值
【发布时间】:2010-10-31 14:40:50
【问题描述】:

在 SharePoint 2007 Web 部件中,我想删除现有属性并将其替换为使用不同名称的属性。我想从现有属性中获取值并将其分配给新属性。

我应该怎么做?

【问题讨论】:

    标签: sharepoint sharepoint-2007 web-parts


    【解决方案1】:

    总结:

    • 获取对包含 Web 部件的页面的引用。
    • 获取对 Web 部件本身的引用。
    • 更改属性值。
    • 保存更改。

    在代码中:

    using (SPSite site = new SPSite("http://sharepoint"))
    using (SPWeb web = site.OpenWeb("Web Title"))
    using (SPLimitedWebPartManager webPartManager =
           web.GetLimitedWebPartManager("default.aspx", PersonalizationScope.Shared))
    {
        try
        {
            foreach (WebPart webPart in webPartManager.WebParts)
            {
                if ((webPart.Title == "Web Part Title") && (!webPart.IsClosed))
                {
                    YourWebPart wp = (YourWebPart)webPart;
                    wp.NewProperty = wp.OldProperty;
                    webPartManager.SaveChanges(wp);
                    web.Update();
                    break;
                }
            }
        }
        finally
        {
            webPartManager.Web.Dispose();
        }
    }
    

    在此代码示例中替换以下内容:

    • "http://sharepoint" - 您的 SharePoint 网站的地址
    • “Web 标题” - 包含要更改的 Web 部件的 SharePoint Web 的标题(或使用其他 OpenWeb 重载之一
    • "default.aspx" - 包含 Web 部件的页面的文件名
    • “Web 部件标题” - 页面上 Web 部件的标题
    • YourWebPart - 要更改的 Web 部件的类名
    • NewProperty/OldProperty - 要更改的属性名称

    【讨论】:

    • 如果我想更改 Web 部件内的属性值,是否需要这样做?我正在提交一个刷新 Web 部件编辑页面的模式对话框。我可以在 PreRender 或任何其他函数上获取该值,并且我想将该值保存在我创建的自定义属性中。
    猜你喜欢
    • 2015-04-02
    • 1970-01-01
    • 2017-12-26
    • 2014-01-19
    • 2017-07-12
    • 2022-08-03
    • 2010-10-07
    • 2011-02-08
    • 1970-01-01
    相关资源
    最近更新 更多