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 で SharePoint 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 に答える