如何将值从javascript传递到asp.net中的标签?

时间:2014-04-28 06:02:23

标签: javascript asp.net vb.net

我需要将一个javascript值传递给asp.net中的标签。 javascript函数在JScript1.js中。我将值传递给隐藏字段。我已经将脚本添加到内容页面的源代码中,如下所示,但每当我将函数值调用到后面的vb.net代码时,它都不起作用。

<script src="JScript1.js" type="text/javascript"></script>

这里是JScript1.js中的javascript函数

function dateTimeToday()
{

  var month=new Array();
  month[0]="1";
  month[1]="2";
  month[2]="3";
  month[3]="4";
  month[4]="5";
  month[5]="6";
  month[6]="7";
  month[7]="8";
  month[8]="9";
  month[9]="10";
  month[10]="11";
  month[11]="12";

  var d = new Date();
  var mt=month[d.getMonth()];
  var h=d.getHours();
  var m=d.getMinutes();
  var s=d.getSeconds();

  mt=checkMonth(mt);
  m=checkTime(m);
  s=checkTime(s);

  var x = document.getElementById("HiddenField1");

  x.innerHTML=d.getFullYear()+"-"+mt+"-"+d.getDate()+" " +h+":"+m+":"+s;;

  t=setTimeout(function(){myFunction()},500);

 }

function checkTime(i)
{
  if (i<10)
   {
    i="0" + i;
   }
 return i;
}

function checkMonth(j)
 {
  if (j<10)
   {
   j="0" + j;
   }
   return j;
 }

以下是我调用javascript值的代码。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    If Not IsPostBack Then
        lbl.Text = HiddenField1.Value
    End If  

End Sub

我的代码上遗漏了什么吗?

请帮忙。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您需要设置输入字段的值,而不是innerHtml:

var x = document.getElementById("HiddenField1");
x.value =d.getFullYear()+"-"+mt+"-"+d.getDate()+" " +h+":"+m+":"+s;

并且考虑到渲染页面时asp.net控件的ID可能会改变,您可以使用:

var x = document.getElementById('<%= HiddenField1.ClientId %>');
x.value =d.getFullYear()+"-"+mt+"-"+d.getDate()+" " +h+":"+m+":"+s;

答案 1 :(得分:0)

我希望你想在javascript中的隐藏字段中设置值。你可以做..

document.getElementById("HiddenField1").value=d.getFullYear()+"-"+mt+"-"+d.getDate()+" " +h+":"+m+":"+s;

在代码背后..

lbl.Text = HiddenField1.Value;

隐藏输入标记..

<input id="HiddenField1" type="hidden"  runat="server" clientidmode="Static" value=""/>