访问.aspx.vb文件中的javascript变量

时间:2011-12-03 07:27:05

标签: asp.net vb.net

我想访问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怎么做?

1 个答案:

答案 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不同,则进行相应调整。