我在ASP.NET网站中使用Javascript。我也在代码中使用updatepanel。 我正在使用隐藏字段,它出现在updatepanel中。隐藏的字段值在UpdatePanel更新中丢失/重置
我想使用document.getelementbyID(hiddenfield);
但每次更新updatepanel时,我都会得到相同的值,如何获取更新后的值。 谢谢。
我在ASP.NET网站中使用Javascript。我也在代码中使用updatepanel。 我正在使用隐藏字段,它出现在updatepanel中。隐藏的字段值在UpdatePanel更新中丢失/重置
我想使用document.getelementbyID(hiddenfield);
但每次更新updatepanel时,我都会得到相同的值,如何获取更新后的值。 谢谢。
我的第一个“预感”是服务器没有在回发中使用新值。 在每次回发中,整个内容的更新后的UpdatePanel被替换为 - 这包括上述隐藏字段。
检查Firebug(或等效)中的网络请求和/或将调试器附加到ASP.NET进程。第一步是准确确定该值何时/何时不符合预期/期望。
各种框架(例如DevExpress,也许是Telerik)都提供了足够聪明的自定义隐藏字段控件,可以在回发期间保留其数据。这样的控制对于创建或模拟来说是相对微不足道的。
一个快速的黑客攻击,跨异步坚持回发的隐藏字段是将它外任何的UpdatePanel的..因人而异。
您必须使用ClientID property
因为你的控制包含的Runat =“服务器”
尝试以下操作:从你的一部分
window.onload = function() {
document.getElementById("myButton").onclick = function() {
var hiddenField = document.getElementById('<%=HiddenField1.ClientID %>');
alert(hiddenField.value);
}
}
这么少的代码,并且没有错误就很难说真正正在发生,它可能会有很多错误。你必须确保你在页面加载后使用document.getElementById
,等等......
你能不能请你发布你的代码..如果你已经把你的隐藏字段放在updatepanel里面,那么在每个帖子后面都会重新初始化它的值。试着将它更新面板外...
如果希望和所有它关系到它可能解决您的错误..
可能发布一些代码或获得的jsfiddle? – faino 2013-03-21 17:11:20
您是否验证过隐藏字段在服务器端更新? – 2013-03-21 17:13:33
我的回应是在这篇文章的最后一句话 - 但我不完全确定写的文字意味着我认为他们的意思。发布代码并尝试更多地展开该问题。 – 2013-03-21 17:31:16