0

サーバー側でユーザーの画面解像度を取得し、解像度に応じてコントロールのサイズを変更する必要があります。

asp:HiddenField解像度を保存したい場所があります。

<asp:HiddenField runat="server" ID="hdnScreenResolution" />

解決策を提出するjquery ajax呼び出しがあります:

 $(document).ready(function () {
      width = screen.width;
      height = screen.height;
      $.ajax({
         url: "Questionnaire.aspx/WindowResolutionSet",
         data: "{ 'width': '" + width + "', 'height' : '" + height + "'}",
         type: "POST",
         contentType: "application/json; charset=utf-8",
         sucess: function (msg) { alert("it works"); },
         error: function () { alert("error"); }
     });
 });

そしてそれのためのウェブメソッド:

    [WebMethod]
    public static bool WindowResolutionSet(string width, string height)
    {
        return true;
    }

WindowResolutionSet から、ページ上のサーバー コントロールにアクセスできません。

そしてsucess: function (msg) { alert("it works");発火しません。

width移入しheightsucessからアクセスすると思いましたがPage_Load()、起動sucessしません。error同様に実行されません。

もっと効率的な方法があるはずですが、私はそれを知りません=/

4

1 に答える 1

3

これらの値には、HttpCapabilitiesBase.ScreenPixelsWidthおよびHttpCapabilitiesBase.ScreenPixelsHeightを使用して直接アクセスできます。

例:

 var clientSize = new { 
      X = Page.Request.Browser.ScreenPixelWidth, 
      Y = Page.Request.Browser.ScreenPixelHeight
      };
 SomeMethod(clientSize.X, clientSize.Y);
于 2013-01-10T14:10:27.227 に答える