Asp.net ICallBackEventHandler不使用表单值更新控件

Asp.net ICallBackEventHandler不使用表单值更新控件,asp.net,icallbackeventhandler,Asp.net,Icallbackeventhandler,我想使用ICallBackEventHandler,但是当我使用它回调服务器时,我发现我的表单控件对象没有最新的表单值。是否有办法强制使用表单数据填充值 谢谢。看一看 简而言之,您必须清除变量“\uu theFormPostData”,并在“CallbackEventReference”脚本之前调用“WebForm\u InitCallback()”。这将使用用户输入值更新表单值。大概是这样的: // from the above link string js = String.Format("

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

谢谢。

看一看

简而言之,您必须清除变量“\uu theFormPostData”,并在“CallbackEventReference”脚本之前调用“WebForm\u 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"));

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

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

function SomeCode()
{
    __theFormPostCollection.length = 0;
    __theFormPostData = "";
    WebForm_InitCallback();

    ExecuteMyCallbackMethod("yaday", "yadya");
}