仅在页面加载时执行Javascript,而不是PostBack(SharePoint)

我正在尝试在SharePoint网站上的自定义页面上执行页面加载上的一些JavaScript(它使用当前用户填充人员选择器)。 问题是代码也在回发上执行,我不想要,因为它会重置对人员选择器的任何更改。

我尝试使用if(!IsPostBack)无济于事。 在这一点上,一切都出错了

SCRIPT5009:’IsPostBack’未定义。

我在网上找不到任何帮助。 有任何想法吗? 谢谢

你可以创建一个这样的函数:

 function IsPostBack() { var ret = '<%= Page.IsPostBack%>' == 'True'; return ret; } 

IsPostBack不是一个javascript变量,它是一个.NET webforms变量,仅在服务器上可用,因此客户端会抱怨它。 那么该怎么做呢? 我建议在你的控件的html中使用这个混搭:

 <% if(IsPostBack) { %>   <% } %>  

您可能想尝试下面的内容。 使用JavaScript pageLoad方法并使用PageRequestManager对象的isInAsyncPostBack属性来确定它是否是回发。 有关详细信息,请参阅此处的MSDN链接。