当前位置: 首页 > 面试题库 >

如何检查UpdatePanel是否回发?

长孙阳成
2023-03-14
问题内容

有没有一种方法可以确定是否<asp:UpdatePanel />执行了Ajax回发,类似于我们的使用方式…

if(!Page.IsPostBack) { ...snip }

…以确定是否正在执行按钮提交的回发。

我正在尝试检测来自jQuery的Ajax请求,但它也接收了我想排除的UpdatePanel请求,例如…

if (Request.IsAjaxRequest() && !Page.IsUpdatePanelPostback)
{
    // Deal with jQuery Ajax
}

问题答案:

我不知道这是否会比您的解决方案更好,但是您是否尝试过?

if (ScriptManager.GetCurrent(Page).IsInAsyncPostBack)
{
    Control ctrl = GetControlThatCausedPostBack(Page);
    if (ctrl is UpdatePanel)
    {
        //handle updatepanel postback
    }
}

private Control GetControlThatCausedPostBack(Page page)
{
    //initialize a control and set it to null
    Control ctrl = null;

    //get the event target name and find the control
    string ctrlName = Page.Request.Params.Get("__EVENTTARGET");
    if (!String.IsNullOrEmpty(ctrlName))
        ctrl = page.FindControl(ctrlName);

    //return the control to the calling method
    return ctrl;
}


 类似资料:
  • 问题内容: 如果“表”没有行。什么是最简单的检查方法? 问题答案: 您可以使用mysql_num_rows($ results) 来检查是否返回了0行,或者使用以下更快的替代方法:

  • 问题内容: 我尝试添加 检查返回的对象是否为空,但是它不起作用。 有人可以告诉我这是怎么回事吗? 问题答案: 只需测试数组是否为空。

  • 我有一个名为< code>Person的对象。 它有几个属性; 我设置了一个person对象,比如< code>Person p = new Person(1,“Joe”);。 1.) 我需要检查对象是否为空;以下表达式是否正确; 2.)我需要知道ID是否包含Int。 但是,java不允许这样做。我该怎么办?

  • 问题内容: 如何检查是否为空? 问题答案: 您自己说过的,请检查它是: 看,PHP非常简单。您可以简单地写下您的想法;) 这种方法很安全。如果未设置(可能,但可能),则可能会给您提供未定义的变量E_NOTICE 。

  • 问题内容: 我有一个名为的对象。 它具有几个属性; 我将一个人对象设置为。 1.)我需要检查对象是否不为null;以下表达式正确吗? 2.)我需要知道ID是否包含一个Int。 但是,java不允许这样做。我该如何检查? 问题答案: An 不为null,如果未初始化,则可能为null 。 如果您希望整数可以为null,则需要使用代替。 此外该语句不能为真,因为如果为null,则将抛出a。所以正确的表

  • 问题内容: 好吧,我是SQL的新手,我刚刚读到,存储过程始终返回一个值,确定该过程中的查询是否已成功执行是一种很好的做法。 所以我有一个带有select语句的简单存储过程,如果要执行,我想返回1,否则返回-1。 您能告诉我如何用SQL编写该条件吗? 如果有关系,我的数据库是MS SQL Server。 谢谢你。 问题答案: 使用输出参数返回成功状态以及Try..Catch块