我在 ASP.NET 网站中使用 Javascript。我也在代码中使用更新面板。我正在使用更新面板中存在的隐藏字段。
我想使用 document.getelementbyID(hiddenfield);
但是每次我更新更新面板时,我都会得到相同的值,我怎样才能得到更新的值。谢谢你。
我在 ASP.NET 网站中使用 Javascript。我也在代码中使用更新面板。我正在使用更新面板中存在的隐藏字段。
我想使用 document.getelementbyID(hiddenfield);
但是每次我更新更新面板时,我都会得到相同的值,我怎样才能得到更新的值。谢谢你。
我的第一个“预感”是服务器没有在回发时使用新值。在每次回发时,更新的 UpdatePanel的全部内容都会被替换- 这包括前面提到的隐藏字段。
检查 Firebug(或等效)中的网络请求和/或将调试器附加到 ASP.NET 进程。第一步是准确确定值在何处/何时不符合预期/期望。
各种框架(例如 DevExpress,也许是 Telerik)提供了自定义的隐藏字段控件,这些控件足够智能,可以在回发中保留其数据。这样的控件创建或模拟相对简单。
在异步回发中保留隐藏字段的一种快速技巧是将其移到任何 UpdatePanel .. YMMV之外。
您必须使用ClientID property
,因为您的控件包含 runat="server"
尝试以下操作:
window.onload = function () {
document.getElementById("myButton").onclick = function () {
var hiddenField = document.getElementById('<%=HiddenField1.ClientID %>');
alert(hiddenField.value);
}
}
由于您的代码如此之少,而且没有错误,很难判断到底发生了什么,它可能有很多问题。您必须确保document.getElementById
在页面加载后使用,等等...
您能否发布您的代码..如果您已将隐藏字段放在更新面板中,那么在每次回帖时,它的值都会重新初始化。尝试将其放在更新面板之外...
希望这可以解决您的错误,如果它与它相关..