Sharepoint 2010 WebPart:网站成员组中的用户无法保存 Web 部件的属性
我使用 Personalized(PersonalizationScope.User) 属性为我的 Web 部件创建了一些自定义属性。我仅在 ApplyChanges() 方法中更改 EditorPartClass 中的此属性。主要问题是具有站点贡献权限的用户在编辑页面的个性化视图时无法保存此属性。当用户单击 EditorPart 上的“确定”按钮时,将应用更改属性,但在页面回发值返回到之前的状态后。具有完全控制权限的用户可以毫无问题地保存此属性。 如果用户具有“添加和自定义页面”权限属性也可以保存..但是用户也可以在共享视图中修改Web部件..这很糟糕...
I've created some custom property for my web part with Personalizable(PersonalizationScope.User) attribute. I changing this property in EditorPartClass in ApplyChanges() Method only. The main problem is user with contribute permission for a site can't save this property when editing personalized view of a page. Changing property applies when user click OK button on EditorPart, but after page postback value returns to its previous condition. Users with full control privilleges saves this property without a problem.
If User has an "Add and Customize Page" privilege property saves too.. But than User can modify web part in shared view too.. It's bad...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要显式更改
SafeControl
标记上的SafeAgainstScript
属性。由于 Client OM,这是 2010 年新增的内容。您永远无法确定用户不会输入恶意 JS - 因此请确保您还对您的属性所采用的任何输入进行编码!you need to explicitly change the
SafeAgainstScript
attribute on theSafeControl
tags. This is new in 2010 because of the Client OM. you can't ever be sure that the user won't type malicious JS - so make sure you also encode any input your property takes!