代码之家  ›  专栏  ›  技术社区  ›  Peanut

ICallBackEventHandler不使用表单值更新控件

  •  2
  • Peanut  · 技术社区  · 16 年前

    我想使用ICallBackEventHandler,但是当我使用它回调服务器时,我发现我的表单控件对象没有最新的表单值。有没有办法用表单数据强制填充值?

    谢谢

    2 回复  |  直到 16 年前
        1
  •  2
  •   sandesh247    16 年前

    看看 http://msdn.microsoft.com/en-us/magazine/cc163863.aspx .

    简而言之,您必须清除变量“u theFormPostData”,并在“CallbackEventReference”脚本之前调用“WebForm_InitCallback()”。这将使用用户输入值更新表单值。比如:

    // from the above link
    string js = String.Format("javascript:{0};{1};{2}; return false;", 
        "__theFormPostData = ''",
        "WebForm_InitCallback()",
        Page.GetCallbackEventReference(this, args, "CallbackValidator_UpdateUI", "null"));
    
        2
  •  0
  •   Jonathan    15 年前

    显然,您仍然没有相同的问题,但您需要做的是在JavaScript回调代码之前调用WebForm_InitCallback()。这将使页面刷新请求中的POST值。窗体对象。

    现在进行回发时,回发期间修改的值将可用。不用说,它们将在回调期间可用。

    function SomeCode()
    {
        __theFormPostCollection.length = 0;
        __theFormPostData = "";
        WebForm_InitCallback();
    
        ExecuteMyCallbackMethod("yaday", "yadya");
    }
    
    推荐文章