1

在字体终端用户登录 SharePoint 后,是否有 JavaScript 对象、方法或属性可用于检测特定 SharePoint 会话变量是否存在?

以下似乎工作..

<SharePoint:Delegate runat="server" ControlId="MyDelegateControlTest" Id="MyDelegateControlTest">
<template_Controls>
<script type="text/javascript">var mvar='hello'; console.log('hello world');</script>
</template_Controls>
</SharePoint:DelegateControl>

但是在我尝试存储会话变量的那一刻......

<SharePoint:Delegate runat="server" ControlId="MyDelegateControlTest" Id="MyDelegateControlTest">
<template_Controls>
<script type="text/javascript">var mvar='<%= Session["demo"]%>'; console.log('hello world');</script>
</template_Controls>
</SharePoint:DelegateControl>

...我在我的页面上收到一条错误消息,上面写着“Microsoft.SharePoint.WebControls.DelegateControl 没有公共属性名称脚本”

我究竟做错了什么?

4

1 回答 1

1

由于会话变量是服务器端对象,因此在客户端从 javascript 读取它们的唯一方法是将会话值作为 javascript 变量响应到页面中。您可以使用母版页中的委托控件来执行此操作,然后让您的 javascript 检查变量。

编辑:在代理的前端,添加一个如下所示的脚本块:

<script type="text\javascript"> var mySessionVar = '<%= Session["mySessionVar "] %>'; </script>

然后,您应该能够在其他地方的 javascript 代码中访问 mySessionVar。

于 2013-05-06T14:33:50.550 回答