Javascript ASP:code behind中的隐藏字段变量在更新面板内从服务器返回时丢失值

Javascript ASP:code behind中的隐藏字段变量在更新面板内从服务器返回时丢失值,javascript,jquery,asp.net,updatepanel,hidden-field,Javascript,Jquery,Asp.net,Updatepanel,Hidden Field,我有一个显示报表数据的自定义Web部件。它位于选项卡控件和更新面板中,因此刷新报表数据的回调是异步的 在服务器上,我需要处理一些数据并返回一个值供以后使用。这个变量只需要坐在那里等待用户操作,然后客户端javascript将使用读取变量,并且根据变量的条件,这个javascript将以编程方式“单击”更新面板中的按钮 页面上的更新面板和报告查看器 在面板的OnUnload代码中。它必须在那里或那里,使一些其他的东西在Web部件中工作。我借用了这个OnUnload代码来解决以前的问题 我的ONUN

我有一个显示报表数据的自定义Web部件。它位于选项卡控件和更新面板中,因此刷新报表数据的回调是异步的

在服务器上,我需要处理一些数据并返回一个值供以后使用。这个变量只需要坐在那里等待用户操作,然后客户端javascript将使用读取变量,并且根据变量的条件,这个javascript将以编程方式“单击”更新面板中的按钮

页面上的更新面板和报告查看器 在面板的OnUnload代码中。它必须在那里或那里,使一些其他的东西在Web部件中工作。我借用了这个OnUnload代码来解决以前的问题

我的ONUNLOAD函数 问题 隐藏字段中的值在回程中被清除。我认为它在OnUnload函数调用中被删除了

我的问题
如何保存此隐藏字段值,以便客户端javascript在发生另一个用户生成的事件时可以使用它?

如果您丢失了隐藏字段值,则最简单的方法是将其存储在任何会话值的ViewState中


您可以通过以下方式在js中获取值:

function GetSessionValue()
{
   var sessionValue = "<%=Session["ITEM"].ToString()%>";
}
函数GetSessionValue() { var sessionValue=“”; }
感谢您抽出时间回复。我考虑过这一点,但我读到不能使用java脚本提取会话对象的值。如果我错了,请让我知道,或者如果你有一个如何把它弄出来的例子,我将不胜感激。再次感谢!为什么需要从javascript中提取会话对象的值。您只需要在代码隐藏时维护该值?您可以在js中以函数GetSessionValue(){var sessionValue=“”;}形式获取该值。谢谢你,我会试试这个,然后向你汇报。为了回答您的问题,为什么我需要使用javascript在客户端提取值——原因是基于变量的值,我可能会或可能不会触发button click事件并导致刷新。我只想在服务器上的JSON解析值与客户端的当前值不匹配时刷新。再次感谢您的投入和帮助。Virkrants。我修改了代码以获取值,但返回空值。也许它不是从UpdatePanel出来的?var mySessionVar=(“”).toString;var getJSONString=jQuery.parseJSON(mySessionVar);警报(getJSONString);
Protected Sub btnSendHiddenField_Click(sender As Object, e As EventArgs) Handles btnSendHiddenField.Click
                Dim parsedObjectId As String = ""
                parsedObjectId = "1000"
                hiddenCurrentObjectId.Value = parsedObjectId
End Sub
Protected Sub UpdatePanel_Unload(sender As Object, e As EventArgs)
    Dim methodInfo As MethodInfo = GetType(ScriptManager).GetMethods(BindingFlags.NonPublic Or BindingFlags.Instance).Where(Function(i) i.Name.Equals("System.Web.UI.IScriptManagerInternal.RegisterUpdatePanel")).First()
    methodInfo.Invoke(ScriptManager.GetCurrent(Page), New Object() {TryCast(sender, UpdatePanel)})
End Sub
End Class
function GetSessionValue()
{
   var sessionValue = "<%=Session["ITEM"].ToString()%>";
}