2014-09-18 19 views
0

对身体负荷我在这个功能我是隐藏字段asp.net隐藏字段的值没有得到在窗体加载事件

function lotclick(lotid) 
{ 
    var dt = new Date(); 

    document.getElementById("lblindTime").value = dt.toString(); 

和码附加价值调用这个函数

<body onload="lotclick('1');"> 

在表单加载事件的文件后面,我试图获取隐藏字段的值,但我无法获得该值。

protected void Page_Load(object sender, EventArgs e) 
     { 

      string sfsf = lblindTime.Value.ToString(); 
    } 

但我没有得到任何价值。但按下按钮后,我即可获得价值。 会有什么问题。

+1

在你的情况下,Page_Load首先被执行!所以在这一点上没有价值。然后,onload被执行并设置该值。因此,只有按下按钮,您才有价值。 – RealityDysfunction 2014-09-18 15:47:38

回答

1

我没有得到任何值执行得到执行,你不能得到它的方式。但按下按钮后,我即可获得价值。

您是否期待价值在那里第一次加载页面时?因为这是不可能的。当您单击该按钮时,您将回发到服务器,并且回传包括设置在客户端的值。这就是为什么你的按钮点击“工作”。

但是,当您第一次加载页面时,您的服务器端代码将无法看到客户端值尚未计算的。在你的情况下操作的顺序大致是:

  1. 用户请求页面
  2. Page_Load执行
  3. 页面在浏览器中加载
  4. 的JavaScript执行
  5. 表单字段更新
  6. 用户点击按钮
  7. 表单字段被发送到服务器
  8. Page_Load执行
  9. Click处理程序执行
  10. 等等...

步骤2不能使用是不会被计算到步骤4 ASP .NET不支持的值预科(还)。

2

Page_Load是在服务器端执行,waaay之前onload获得在客户端

相关问题