ICallBackEventHandler 不使用表单值更新控件

发布于 2024-07-12 06:44:25 字数 101 浏览 6 评论 0 原文

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

谢谢。

I want to use ICallBackEventHandler however when I use it to call back to the server I find that my form control objects don't have the latest form values. Is there a way to force populate the values with the form data?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挽袖吟 2024-07-19 06:44:25

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

简而言之,您必须清除变量“__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"));

Have a look at http://msdn.microsoft.com/en-us/magazine/cc163863.aspx.

In short, you have to clear the variable '__theFormPostData', and call the 'WebForm_InitCallback()' before the 'CallbackEventReference' script. This updates the form values with the user input values. Something like this:

// from the above link
string js = String.Format("javascript:{0};{1};{2}; return false;", 
    "__theFormPostData = ''",
    "WebForm_InitCallback()",
    Page.GetCallbackEventReference(this, args, "CallbackValidator_UpdateUI", "null"));
剪不断理还乱 2024-07-19 06:44:25

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

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

ETC

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

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

You obviously still dont have the same issue but wha you need to do is recall WebForm_InitCallback() prior to your JavaScript Callback Code. This will get the page to refresh the POST values in your Request.Form object.

When you now do a PostBack the values modified during Callbacks will be available. It goes without saying they will be available during Callbacks.

etc

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

    ExecuteMyCallbackMethod("yaday", "yadya");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文