我正在尝试将SharePoint 2010 Chart Web部分连接到SharePoint列表。一切都很好,但是匿名看不到图表,我会收到此错误:

你调用的对象是空的。 System.NullReferenceException:对象引用未设置为对象的实例。在Microsoft.office.server.webcontrols.chart.renderchartcontrol(Control ChartTorender,htmltextwriter writer)上,Microsoft.office.server.webcontrols.webcontrols.chart.render(htmltextwriter writer)(htmltextwriter writer) )

有帮助吗?

解决方案

这是一个错误,它已在SP2010 SP1中解决(虽然没有测试)。这是指向KB文章的链接,描述了XSLX文件中的所有更改: http://support.microsoft.com/kb/2460045第234行描述了您所指的问题。

其他提示

我不太熟悉图表网络部分,但是从检查出来,我的猜测是,它与匿名用户与基于客户端对象模型的Web零件(例如基于Silverlight的Web零件)具有相同的问题。
问题在于,默认情况下,SharePoint限制了匿名用户的GetItems Splist方法。
你应该退房 Waldek Mastykarz的帖子 关于这个问题,但要总结他的出色解决方案,请使用以下PowerShell代码(不要忘记替换 http:// sharepoint 使用您的网站URL):

$wa = Get-SPWebApplication -Identity "http://sharepoint"
$wa.ClientCallableSettings.AnonymousRestrictedTypes.Remove([Microsoft.SharePoint.SPList], "GetItems")
$wa.Update()

如果问题在于自动化用户会看到图表,但是匿名不会,那么问题可能是权限。确保没有您使用的文件需要限制访问。

如果您不弄清楚,请按照@disciple的建议进行操作,请附上调试器。

没有足够的信息回答。 SharePoint日志中还有哪些其他信息?尝试附加调试器或使用日志记录。在访问之前,很可能不会初始化SMTH。

UPD: 所有资源都在发布页面上吗?

upd2: 迈克尔夫有一点。您使用SMTH是否累了:

SPSecurity.RunWithElevatedPrivileges(delegate
{
 // Code goes here
}

?

许可以下: CC-BY-SA归因
scroll top