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

在UpdatePanel中找不到ID为ID的控件作为触发器

濮阳鸿祯
2023-03-14
问题内容

我有一个更新面板,其中将Conditional和ChildrenAsTriggers的UpdateMode设置为false。我只希望一些控件引起异步回发:

<asp:UpdatePanel ID="updPnlMain" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>

      // ...
      <asp:Repeater ID="rptListData" runat="server">
          <ItemTemplate>
              <asp:Button ID="btnAddSomething" runat="server" OnClick="btnAddSomething_Click" />
          </ItemTemplate>
      </asp:Repeater>
      // ...
</ContentTemplate>
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnAddSomething" EventName="Click" />
</Triggers>
</asp:UpdatePanel>

尝试加载此页面时出现以下错误:

A control with ID 'btnAddSomething' could not be found for the trigger in UpdatePanel 'updPnlMain'.

由于我的btnAddSomething控件位于转发器中,可能不会立即存在,因此它的行为就好像它不存在一样。我该如何解决?


问题答案:

因为您的控件在中,repeater control并且不在的范围内Trigger collection。顺便说一下,您不需要,add trigger因为您的按钮控件已在中UpdatePanel,当您单击按钮时它会更新。

编辑: 如果您确实要更新updPnlMain
updatepanel,则有一个解决方案。您可以放入另一个updatepanel并将按钮放在该面板中。例如

<asp:UpdatePanel ID="updButton" runat="server" UpdateMode="Conditional">
  <asp:Button ID="btnAddSomething" runat="server" OnClick="btnAddSomething_Click" />
</ContentTemplate>

然后updPnlMain.Update();btnAddSomething_Click事件中简单地调用该方法。

它实际上会做您想要的:)



 类似资料:
  • 问题内容: 我有一个复合下拉日历用户控件,其中包括一个文本框和日历图像以及一个验证控件。我在用户控件上公开了一个名为“ TextBox”的属性,该属性返回对该控件内使用的文本框的引用。这是用户在其中输入日期的文本框。 在ASPX页面中,我有一个此usercontrol的实例: 在后面的代码中,我想检测用户何时跳出文本框,并使用UpdatePanel根据指定的日期引用适当的消息。 在ASPX页面的其

  • 问题内容: jenkins的新手,正在运行我的第一个版本。我正在使用gradle进行构建,但一直出现以下错误 我搜索了将近2天,并尝试安装其他android插件,但似乎无法解决此问题。 我已经在詹金斯的全局属性下设置了ANDROID_HOME变量。确保路径正确。 任何帮助将不胜感激。提前致谢 问题答案: 我已通过在bundle.gradle文件顶部添加以下代码来修复此问题 谢谢你的帮助 :)

  • (使用本指南:https://developer.android.com/topic/libraries/architecture/navigation/navigation-pass-data): 我收到此错误:

  • 我正在尝试使用Gradle在本地构建一个项目(https://github.com/fge/btf)。有一个插件“OSGi”正在使用,但每当我构建它,我得到错误的插件没有找到。我尝试过提供不同风格的OSGi,添加了存储库和依赖关系。仍然得到相同的错误。请帮帮忙。提前道谢。 失败:生成失败,出现异常。 > 其中:生成文件“/root/btf-1.2/Build.gradle”行:61 错误:在评估根

  • 我在Project中创建了一个简单的gradle插件。根据文档,它应该是好的,但当我尝试使用它时,我发现id为'show-date-plugin'的文档我指的是:https://docs.gradle.org/current/userguide/custom_plugins.html 您可以将插件的源代码放在rootprojectdir/buildsrc/src/main/groovy目录中。Gr

  • 当我点击“编辑”时,我收到此错误: 下面是< code>UsersController: 完整跟踪如下: