【问题标题】:AJAX.NET request handlers - set hidden fieldAJAX.NET 请求处理程序 - 设置隐藏字段
【发布时间】:2009-02-05 10:12:01
【问题描述】:

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

这是我正在使用的代码:

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

非常感谢。

【问题讨论】:

    标签: asp.net ajax


    【解决方案1】:

    您在使用更新面板吗?

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

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

    HTH 的

    【讨论】:

    • 即使在使用 ScriptManager.RegisterHiddenField 时,我也无法将更改后的值发回。
    • 看起来 ScriptManager.RegisterHiddenField 将该字段置于 UpdatePanel 区域之外。
    • ScriptManager.RegisterHiddenField 如果您在 OnPreRenderComplete 事件中调用它并使用 ScriptManager.RegisterHiddenField Method (Page, String, String) overload 对我有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    相关资源
    最近更新 更多