2009-06-23 39 views
1

严重编辑 - 下面的原始问题。“个性化此页面”更改个人视图不保存 - sharepoint

我有一个自定义列表(从功能安装),基本上是一个日历。默认的月份,星期和日期视图利用自定义Web部件,将JavaScript注入页面以添加背景颜色。

希望添加个人视图的用户可以这样做,但是新的个人视图在默认情况下不会在页面上拥有自定义着色Web部件。用户可以从欢迎菜单中选择“个性化此页面”并添加Web部件,但点击“退出编辑模式”后,Web部件消失。

为什么会发生这种情况,以及如何使其工作?


我有一个自定义的Web部件,将一些脚本标记注入到页面上。此Web部件旨在用于自定义日历列表,为各种类别的事件(自定义字段)提供一些背景颜色。这对于共享视图很有效,对个人视图根本不起作用。

如果我创建了一个个人视图,并将其基于默认的Calendar.aspx视图,然后从“网站操作”菜单中选择“编辑此页”,则日历将消失。如果我将自定义Web部件添加到页面并选择“修改此Web部件”,则会显示“您试图更改的Web部件无效或已被其他用户删除”。

是否可以将Web部件添加到个人视图?有没有更好的方法来实现这种自定义背景着色?

更新:个人视图的网址如下所示:.../Lists/CalendarName/PersonalViews.aspx?ShowWebPart = {GUID}。如果我删除查询字符串,则不显示日历,但如果检查页面内容,则Web部件实际上是呈现内容!如果ShowWebPart = {GUID}存在,它不会呈现。使用调试器,我发现它根本无法加载,据我所知。

更新2:更怪异。如果我通过从欢迎菜单中选择“个性化此页面”来定制此页面,则可以添加我的自定义Web部件,并且它看起来很棒,但直到我单击“退出编辑模式”并且我的自定义Web部件再次消失为止。

回答

1

创建您的视图,使其个性化。

个性化页面,添加您的Web部件。

然后退出编辑模式。在查询字符串中,删除&ShowWebPart=GUID部分。你的个人网页部分应该显示出来。

个人视图每个都有一个GUID。列表视图中的选择器使用查询字符串来显示要显示的视图,因此参数为ShowWebPart。我不相信有什么办法可以将列表选择器中的行为覆盖到而不是使用该参数,而不需要很大的努力。

+0

如果我选择不同的视图,然后回到我的个人视图,“&ShowWebPart = GUID”就在那里。嘘。 – Chloraphil 2009-06-23 21:02:18