我需要在服务器端获得用户屏幕分辨率,并根据分辨率调整控件大小。
我有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
上填充height
和sucess
,然后从Page_Load()
访问它,但sucess
不会触发。 error
也没有执行。
必须有更高效的方式,但我不知道= /
答案 0 :(得分:3)
可以使用HttpCapabilitiesBase.ScreenPixelsWidth和HttpCapabilitiesBase.ScreenPixelsHeight直接访问这些值。
示例:
var clientSize = new {
X = Page.Request.Browser.ScreenPixelWidth,
Y = Page.Request.Browser.ScreenPixelHeight
};
SomeMethod(clientSize.X, clientSize.Y);