【发布时间】:2015-05-18 20:56:51
【问题描述】:
html 页面上的按钮使用window.open() 命令重定向到 aspx 页面。
在page_load 执行之前,我希望在aspx 页面的服务器端的html 页面上有某些数据。
以下是我在 html 页面上的代码,它重定向到 aspx 页面
var win = window.open('mypage.aspx','_self');
win.args=this.Args;
以下是我在 aspx 页面上的代码,它试图捕获从 html 页面传递的数据
<script type='text/javascript'>
var readyStateCheckInterval = setInterval(function () {
if (document.readyState === "loading") {
$('#hdnArgs').val(window.args);
clearInterval(readyStateCheckInterval);
}
}, 100);
</script>
<input type='hidden' id='hdnArgs' runat='server'/>
以下是 aspx.cs 文件中的代码,它试图读取从 html 页面的数据中设置的隐藏变量的值
protected void Page_Load(object sender, eventargs e)
{
string data = hdnArgs.value; //this is always null
}
但我得到的总是'null'。
readyStateCheckInterval在page_load事件完成后设置隐藏变量值。
我想要page_load 之前的隐藏变量的值。
我怎样才能得到它?
【问题讨论】:
-
您的 Jquery 是否为该 HiddenField 返回了正确的值?
-
好的。现在如果你想在
Page_Load之前使用它,你可以在PageLoad 之前运行的Page_Init方法中尝试它。不知道行不行,你可以试试看。 -
无法访问“Window”变量服务器端。它必须在客户端并将值存储在一些文字或隐藏变量中才能在服务器端访问它
标签: c# jquery asp.net pageload