如何从服务器端代码获取客户端timeZoneOffset

时间:2010-10-27 13:56:01

标签: c# asp.net

如何获取getTimezoneOffset();在Page_load事件后面的代码(aspx.cs文件)中客户端的值?

1 个答案:

答案 0 :(得分:0)

我不相信你可以直接这样做。我原本以为你可以从Request.Headers中获取日期并计算出来,但是,至少在我的环境中,使用我的浏览器,无法访问Date标题。

我能想到的唯一可能的解决方案,因为客户端信息通常仅限于在标头中发送的内容或在表单请求中使用Javascript来抓取标题,填充表单字段(可能是HiddenField)并触发回发。

我用谷歌搜索并得出了这个回复,它显示了我认为你需要做的方式 - 与我的做法略有不同,但足够接近。

http://www.velocityreviews.com/forums/t70226-client-timezone.html

该链接上的答案代码如下:

<td>
<input type="button" value="getclientutc" onclick="GetClientUTC()">
<input type="hidden" id="hdClientUTC" runat="server">
</td>

:     

function GetClientUTC()
{
var now = new Date()
var offset = now.getTimezoneOffset();
document.Form1.hdClientUTC.value = offset
}
</script>