编辑严重 - 以下原始问题。
我有一个自定义列表(从功能安装),基本上是一个日历。默认的月,周和日视图利用自定义Web部件将javascript注入页面以添加背景颜色。
希望添加个人视图的用户可以这样做,但默认情况下,新的个人视图不会在页面上显示自定义着色Web部件。用户可以从欢迎菜单中选择“个性化此页面”并添加Web部件,但在单击“退出编辑模式”时,Web部件将消失。
为什么会发生这种情况?如何使其发挥作用?
我有一个自定义Web部件,可以在页面上注入一些脚本标记。此Web部件旨在用于自定义日历列表,以便为各种类别(自定义字段)的事件提供一些背景颜色。这适用于共享视图,而不是个人视图。
如果我创建个人视图并将其基于默认的Calendar.aspx视图,然后从“网站操作”菜单中选择“编辑此页面”,则日历将消失。如果我将自定义Web部件添加到页面并选择“修改此Web部件”,则会出现“您尝试更改的Web部件无效或已被其他用户删除”。
是否可以在个人观看中添加网页部件?有没有更好的方法来实现这种自定义背景着色?
更新:个人观点的网址是这样的:... / Lists / CalendarName / PersonalViews.aspx?ShowWebPart = {GUID}。如果我删除了查询字符串,则不会显示日历,但如果我检查页面内容,则Web部件实际上是呈现内容!如果ShowWebPart = {GUID}存在,则不会呈现。使用调试器,我发现它根本无法加载。
更新2:更奇怪。如果我通过从欢迎菜单中选择“个性化此页面”来自定义此页面,它可以让我添加自定义Web部件,它看起来很棒,但只有在我单击“退出编辑模式”并且我的自定义Web部件再次消失之后。
答案 0 :(得分:1)
创建您的视图,使其个性化。
个性化页面,添加您的Web部件。
然后退出编辑模式。在查询字符串中,删除&ShowWebPart=GUID
部分。您的个人网络部分应该出现。
每个人的个人观点都有一个GUID。列表视图中的选择器使用查询字符串来显示要显示的视图,因此显示ShowWebPart
参数。我不相信有任何方法可以覆盖列表选择器中的行为,不使用ShowWebPart
参数,而不费力。