我正在尝试在AJAX初始化请求处理程序中设置hiddenfield控件的值。但是,在服务器上,隐藏字段控件始终包含上一个回发的值。我假设在初始化请求处理程序中设置隐藏字段之前正在准备/发送viewstate。 有没有办法设置隐藏字段,以便传递新值或通过另一种机制将值传递给服务器。
这是我正在使用的代码:
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';
}
}
非常感谢。
答案 0 :(得分:2)
您使用的是更新面板吗?
如果您是,那么您需要确保隐藏字段位于正在刷新的更新面板内,否则新值将不会发送到浏览器。
另外,如何创建隐藏字段,如果它是更新面板回发的一部分,则应使用ScriptManager.RegisterHiddenField。
HTH的