在 WSS 中的自定义 aspx 页面中,我使用带有 xsl 文件的 DataFormWebPart 来呈现一些数据。为了将值传递给 xsl,我使用参数绑定。具体来说,我需要像这样传入服务器主机 url:
<ParameterBinding
Name="HttpHost"
Location="CAMLVariable"
DefaultValue="http://hardcoded.com" />
这很好用,但接下来我要做的是动态获取主机名。因此,为了弄清楚如何从 SharePoint 中获取它,我添加了以下绑定:
<ParameterBinding
Name="HttpHost"
Location="CAMLVariable"
DefaultValue='<%# SPContext.Current.Site.Url.Replace
(SPContext.Current.Site.ServerRelativeUrl, "") %>' />
现在来解决问题。如果在页面中的其他位置使用,该代码将按预期工作,但使用 SharePoint 报告的上述代码:
Web 部件错误:“WebPartPages:DataFormWebPart”的“ParameterBindings”属性不允许子对象。
有人对此有意见吗?
更新:我根据这篇文章启用了服务器端代码