Asp.net AJAX.NET请求处理程序-设置隐藏字段

Asp.net AJAX.NET请求处理程序-设置隐藏字段,asp.net,ajax,Asp.net,Ajax,我试图在AJAX初始化请求处理程序中设置hiddenfield控件的值。但是,在服务器上,隐藏字段控件始终包含上一次回发的值。在初始化请求处理程序中设置隐藏字段之前,我假定viewstate正在准备/发送。 是否有任何方法可以设置隐藏字段,以便Is通过另一种机制传递新值,或者可能通过另一种机制将值传递给服务器 这是我正在使用的代码: var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_initializeRequest

我试图在AJAX初始化请求处理程序中设置hiddenfield控件的值。但是,在服务器上,隐藏字段控件始终包含上一次回发的值。在初始化请求处理程序中设置隐藏字段之前,我假定viewstate正在准备/发送。 是否有任何方法可以设置隐藏字段,以便Is通过另一种机制传递新值,或者可能通过另一种机制将值传递给服务器

这是我正在使用的代码:

var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(MyPage_initializeRequestHandler);

function MyPage_initializeRequestHandler(sender, args)
{
    var hiddenField1= $get('hiddenField1');

    if (hiddenField1 != null)
    {
        hiddenField1.value = 'test';
    }
}

非常感谢。

您正在使用更新面板吗

如果是,则需要确保隐藏字段位于正在刷新的更新面板内,否则新值将不会发送到浏览器


另外,如何创建隐藏字段,如果它是更新面板回发的一部分,则应使用ScriptManager.RegisterHiddenField


HTH的

即使在使用ScriptManager.RegisterHiddenField时,我也无法获取更改后的值以进行回发。看起来ScriptManager.RegisterHiddenField将字段置于UpdatePanel区域之外。如果在OnPreRenderComplete事件中调用它并使用