在Sharepoint 2010中的Visual Web Part的Page_Load方法之前执行Javascript

时间:2013-04-12 07:05:50

标签: javascript jquery asp.net sharepoint sharepoint-2010

  

我需要获取屏幕尺寸并根据需要显示结果   页面上的图像。 ascx.cs文件的代码:

<script type="text/javascript">
    var width = 0;
    width = screen.width;

    $('#<%= clientScreenWidth.ClientID %>').val(width);
    alert(width); </script>  
 <asp:HiddenField ID="clientScreenWidth" runat="server" />
  

在Page_Load方法中的.cs文件我试图访问Hiddenfield的值,但值为“”,   因为javascipt将在加载页面后运行。有没有办法强迫   javascript在页面加载之前运行。我可以看到很多这样的问题   StackOverFlow和博客,但我没有工作   sharepoint 2010并且没有<body>和所有的标签。

3 个答案:

答案 0 :(得分:1)

Page_Load将始终在脚本日志之前调用,您需要使用加载消息在Web部件中删除时间,并在Timer_Tick中绑定您的sharepoint Web部件。这样您就可以在隐藏字段中获取数据。

如果您想知道更好的方法,请访问:http://51degrees.codeplex.com/

答案 1 :(得分:0)

理想情况下,您可以使用JavaScript显示/隐藏图像,就像您拥有屏幕尺寸信息一样,并且不需要再次往返服务器。

如果你想继续使用C#中的逻辑,可以让JS在分配字段后启动回发,使用ajax调用重新加载部分页面,或者使用添加的查询字符串重新加载页面。然而,所有这些都需要另一次往返服务器。

答案 2 :(得分:0)

尝试把你的下面放在你的例子中,你引用了一些甚至还不存在的东西。