2009-02-05 32 views
2

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

这是我使用的代码:

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'; 
    } 
} 

非常感谢。

回答

2

您使用的是更新面板吗?

如果你是那么你需要确保隐藏的字段在正在刷新的更新面板中,否则新值将不会被发送到浏览器。

另外,你是如何创建隐藏的领域,如果它是更新面板的一部分回发你应该使用ScriptManager.RegisterHiddenField。

HTH's

+0

即使使用ScriptManager.RegisterHiddenField,我也无法获得更改后的值。 – Jon 2011-05-20 16:44:07