ASP.Net UpdatePanel ImageButton原因",这一点。_postbackSettings.异步是空或不对象"

StackOverflow https://stackoverflow.com/questions/57586

我得到这个错误对一个更新小组内的一个popupControlExtender其是在dragPanelExtender.

我看到,其他很多人都有这样的问题,并有各种修复没有为我工作。

我很想听到一个合乎逻辑的解释这是为什么发生和一个万无一失的方法,以避免这类问题的未来。

我们发现,同其他人一样持这种错误不会发生时的触发一个LinkButton而不是一个ImageButton,仍然想知道,如果任何人有一个解释。

有帮助吗?

解决方案

我最好的猜测是,UpdatePanel是不是能够写出来的定义"异步"财产的请求的回发适当的。这可能是由于阻止从一个控制包装(我的感觉是,这是popupControlExtender-它往往具有奇怪的行为与updatepanels,因为它是旨在管理活动的内部,它对它的表演/隐藏的目的)。

我建议要么删除updatepanel和滚动自己的解决方案对于特定的业务需要有它存在,或实现自己的弹出窗口脚本(可能是稍微容易写)。

顺便说一句,对于一些背景中,"这一点。_postbackSettings.异步"是你的AJAX.NET 框架试图弄清楚这是否是一个异步呼叫。你可能能够克服它通过设置这programaticly前回发送(赶回发事件并增加该领域的回发请求,如果它是不是已经有).

只是一些想法...我不相信有一个"插"回答这一个!

其他提示

我有同样的问题并没有真正发现的任何满意的解决方案,直到我了 http://siderite.blogspot.com/2009/02/thispostbacksettingsasync-is-null-or.html 这不正是我想要的。

只是为了避免问题有可能死的链接在未来这里是代码:

var script = @"
if (Sys &&
    Sys.WebForms && Sys.WebForms.PageRequestManager &&
    Sys.WebForms.PageRequestManager.getInstance) 
{
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    if (prm &&
       !prm._postBackSettings)
    {
        prm._postBackSettings = prm._createPostBackSettings(false, null, null);
    }";

ScriptManager.RegisterOnSubmitStatement(
    Page, 
    Page.GetType(), 
    "FixPopupFormSubmit", 
    script);

在情况下提交,而不_postBackSettings正在设它创造了他们,造成的空引用例外会消失的_postBackSettings.异步然后提供。

希望这会有所帮助,

G.

Settign"EnablePartialRendering"以虚假的ScriptManager控制可防止的错误,但它不是一个最佳的解决方案。失去的利益,部分渲染可能是一个大问题,取决于应用程序。

只是为了记录在案,我没有做着完全相同的,因为其他人看到了错误。我有一个PopupControlExtender,这是一个"checkboxlist".我增加了一个"选择"的链接与javascript方法的编程方式选择/取消。我使用的不Imagebutton.我没有看到的错误之前添加javascript和现在甚至除去后,它的错误仍然存在。必须有另一变化我丢失。

我希望这可以帮助别人...

--马特

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top