我想访问Javascript in.aspx文件中定义的变量到.aspx.vb文件
如何访问.aspx.vb文件中的变量?
<script type="text/javascript" language="javascript">
var c=0;
var m=0;
var h=0;
var t;
var timer_is_on=0;
function startTMR()
{
document.getElementById('TimeLable').value=h+":"+m+":"+c;
c=c+1;
if(c==60)
{
c=0;
m=m+1;
if(m==60)
{
m=0;
h=h+1;
}
}
t=setTimeout("startTMR()",1000);
}
function doTimer()
{
if (!timer_is_on)
{
timer_is_on=1;
startTMR();
}
}
这是我在.aspx页面中使用的简单javascript
现在我想访问.aspx.vb页面中的变量h m和c怎么做?
答案 0 :(得分:2)
您需要将该javascript变量保存到隐藏的输入中,当您执行回发时,该输入将与您的表单一起发布。您将能够通过以下方式访问该值:
string value = Request.Form["hiddenName"];
假设您声明隐藏的输入:
<input type="hidden" id="hiddenValue" name="hiddenName" />
您可以使用原生JavaScript设置此值:
document.getElementById("hiddenValue").value = "12";
或者像这样的jQuery:
$("#hiddenValue").val("12");
如果您想在回发之前确保隐藏的输入自动保存到JavaScript变量x,您可以使用jQuery执行以下操作
$("#form1").submit(function () {
$("#hiddenValue").val(x);
});
或者使用原生JavaScript:
document.getElementById("form1").addEventListener("submit", function () {
document.getElementById("hiddenValue").value = x;
});
如果您没有使用jQuery,并且选择了这个原生选项,请确保将脚本放在body部分的底部; 不要将此脚本放在头部,因为dom尚未形成,您将收到空错误。
显然,这一切都假设您的表单元素如下所示:
<form id="form1" runat="server">
如果您的ID不同,则进行相应调整。