首先我使用的是sharepoint, 基本上我的目标很简单,我想要做的是更新我的webpart属性并将其用于将来。
string _SavedCondition;
[WebBrowsable(false),
Category("New"),
Personalizable(PersonalizationScope.Shared),
WebDisplayName("ConditionStore")]
public string SavedCondition
{
get;
set;
}
以上是我的webpart控件
我有一个按钮,当我点击我的按钮时,它会更新我的控件的值
我使用以下代码
this.WebPart.SavedCondition = "Admin";
好的,所以这是我的问题,当我点击我的按钮时,我的值会更新并且能够显示,但是当我关闭浏览器并再次重定向到页面时,值就消失了。
根据sharepoint UI实践,一旦Web部件属性发生更改,用户需要单击“应用”以保存它。但是我怎样才能在编程方式中做到这一点?如果我需要提供更多信息或任何不清楚的信息,请告诉我。
答案 0 :(得分:0)
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 =)