0

我需要获取屏幕尺寸,并根据结果需要在页面上显示图像。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>所有这样的标签,所以没有任何效果。

4

3 回答 3

1

Page_Load 将始终在脚本日志之前调用,您需要在 Web 部件中放置一个带有加载消息的时间,并在 Timer_Tick 中绑定您的共享点 Web 部件。这样,您将在隐藏字段中获取数据。

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

于 2013-04-12T13:11:18.127 回答
0

理想情况下,您将使用 JavaScript 显示/隐藏图像,因为此时您将获得屏幕尺寸信息,并且不需要再次往返服务器。

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

于 2013-04-13T03:46:44.080 回答
0

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

于 2013-04-13T04:32:28.087 回答