页面重新加载后 webpart 值消失
webpart value gone after page reload
首先我使用的是sharepoint,
基本上我的 objective 很简单,我想做的是更新我的 webpart 属性并将其用于将来。
string _SavedCondition;
[WebBrowsable(false),
Category("New"),
Personalizable(PersonalizationScope.Shared),
WebDisplayName("ConditionStore")]
public string SavedCondition
{
get;
set;
}
上面是我的webpart控件
我有一个按钮,当我点击我的按钮时,它会更新我的控件的值
我使用以下代码更新
this.WebPart.SavedCondition = "Admin";
好的,这是我的问题,当我单击我的按钮时,我的值已更新并能够显示,但是当我关闭浏览器并再次重定向到该页面时,该值消失了。
按照共享点 UI 的做法,一旦 Web 部件属性发生更改,用户需要单击“应用”进行保存。但是我怎么能以编程方式做到这一点呢?如果我需要提供更多信息或任何不清楚的消息,请告诉我。
经过长时间的研究,我终于做到了
SPWeb web = SPContext.Current.Web;
SPFile file = web.GetFile(<PageURL>);
SPLimitedWebPartManager manager = file.GetLimitedWebPartManager(PersonalizationScope.Shared);
web.AllowUnsafeUpdates = true;
CustomWebPart webPart = (CustomWebPart)manager.WebParts[this.ID];
//saved condition is my properties, u can find it from my questions above
webPart.SavedCondition = "Something";
manager.SaveChanges(webPart);
web.AllowUnsafeUpdates = false;
当我执行 AllowUnsafeUpdates 和 SaveChanges 时,我的数据存储在 webpart =)
首先我使用的是sharepoint, 基本上我的 objective 很简单,我想做的是更新我的 webpart 属性并将其用于将来。
string _SavedCondition;
[WebBrowsable(false),
Category("New"),
Personalizable(PersonalizationScope.Shared),
WebDisplayName("ConditionStore")]
public string SavedCondition
{
get;
set;
}
上面是我的webpart控件
我有一个按钮,当我点击我的按钮时,它会更新我的控件的值
我使用以下代码更新
this.WebPart.SavedCondition = "Admin";
好的,这是我的问题,当我单击我的按钮时,我的值已更新并能够显示,但是当我关闭浏览器并再次重定向到该页面时,该值消失了。
按照共享点 UI 的做法,一旦 Web 部件属性发生更改,用户需要单击“应用”进行保存。但是我怎么能以编程方式做到这一点呢?如果我需要提供更多信息或任何不清楚的消息,请告诉我。
经过长时间的研究,我终于做到了
SPWeb web = SPContext.Current.Web;
SPFile file = web.GetFile(<PageURL>);
SPLimitedWebPartManager manager = file.GetLimitedWebPartManager(PersonalizationScope.Shared);
web.AllowUnsafeUpdates = true;
CustomWebPart webPart = (CustomWebPart)manager.WebParts[this.ID];
//saved condition is my properties, u can find it from my questions above
webPart.SavedCondition = "Something";
manager.SaveChanges(webPart);
web.AllowUnsafeUpdates = false;
当我执行 AllowUnsafeUpdates 和 SaveChanges 时,我的数据存储在 webpart =)