asp.net隐藏字段的值没有得到在窗体加载事件
问题描述:
对身体负荷我在这个功能我是隐藏字段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();
}
但我没有得到任何价值。但按下按钮后,我即可获得价值。 会有什么问题。
答
我没有得到任何值执行得到执行,你不能得到它的方式。但按下按钮后,我即可获得价值。
您是否期待价值在那里第一次加载页面时?因为这是不可能的。当您单击该按钮时,您将回发到服务器,并且回传包括设置在客户端的值。这就是为什么你的按钮点击“工作”。
但是,当您第一次加载页面时,您的服务器端代码将无法看到客户端值尚未计算的。在你的情况下操作的顺序大致是:
- 用户请求页面
-
Page_Load
执行 - 页面在浏览器中加载
- 的JavaScript执行
- 表单字段更新
- 用户点击按钮
- 表单字段被发送到服务器
-
Page_Load
执行 - Click处理程序执行
- 等等...
步骤2不能使用是不会被计算到步骤4 ASP .NET不支持的值预科(还)。
答
为Page_Load
是在服务器端执行,waaay之前onload
获得在客户端
在你的情况下,Page_Load首先被执行!所以在这一点上没有价值。然后,onload被执行并设置该值。因此,只有按下按钮,您才有价值。 – RealityDysfunction 2014-09-18 15:47:38