Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript UpdatePanel更新时隐藏字段值丢失/重置_Javascript_Asp.net_Asp.net Ajax_Updatepanel - Fatal编程技术网

Javascript UpdatePanel更新时隐藏字段值丢失/重置

Javascript UpdatePanel更新时隐藏字段值丢失/重置,javascript,asp.net,asp.net-ajax,updatepanel,Javascript,Asp.net,Asp.net Ajax,Updatepanel,我正在ASP.NET网站中使用Javascript。我还在代码中使用updatepanel。 我正在使用updatepanel中存在的隐藏字段 我想使用document.getelementbyID(hiddenfield) 但是每次我更新updatepanel时,我都会得到相同的值,如何才能得到更新后的值。 多谢各位 我的第一个“预感”是服务器在回发时没有使用新值。在每次回发时,更新的UpdatePanel的全部内容都会被替换-这包括前面提到的隐藏字段 检查Firebug(或等效程序)中的网络

我正在ASP.NET网站中使用Javascript。我还在代码中使用updatepanel。 我正在使用updatepanel中存在的隐藏字段

我想使用document.getelementbyID(hiddenfield)

但是每次我更新updatepanel时,我都会得到相同的值,如何才能得到更新后的值。 多谢各位

我的第一个“预感”是服务器在回发时没有使用新值。在每次回发时,更新的UpdatePanel的全部内容都会被替换-这包括前面提到的隐藏字段

检查Firebug(或等效程序)中的网络请求和/或将调试器附加到ASP.NET进程。第一步是准确确定值不符合预期/期望的位置/时间

各种框架(例如DevExpress,可能是Telerik)提供了定制的隐藏字段控件,这些控件足够智能,可以跨回发持久保存其数据。创建或模拟这样的控件相对来说比较简单


跨异步回发持久化隐藏字段的一个快速方法是将其移到任何UpdatePanel之外。。YMMV.

您必须使用
ClientID属性
,因为您的控件包含runat=“server”

请尝试以下操作:

window.onload = function () {
    document.getElementById("myButton").onclick = function () {
        var hiddenField = document.getElementById('<%=HiddenField1.ClientID %>');
        alert(hiddenField.value);
    }
}
window.onload=函数(){
document.getElementById(“myButton”).onclick=function(){
var hiddenField=document.getElementById(“”);
警报(hiddenField.value);
}
}

由于您的部件中的代码很少,而且没有错误,很难判断到底发生了什么,因此可能会有很多问题。加载页面后,您必须确保正在使用
document.getElementById
,等等。

请发布您的代码。如果您已将hiddenfield放置在updatepanel中,则在每次回发时都会重新初始化其值。尝试将其放置在更新面板之外


希望这可以修复您的错误,如果它和它相关的一切。

可能会发布一些代码或获得一个JSFIDLE?您是否验证了,隐藏字段在服务器端得到了更新?我的回答是这篇文章的最后一句话-但我不完全确定所写的单词是什么意思。发布代码并尝试更多地扩展问题。