【问题标题】:A control with ID "" could not be found for the trigger in UpdatePanel ""在 UpdatePanel“”中找不到触发器的 ID 为“”的控件
【发布时间】:2012-08-21 00:31:24
【问题描述】:

我正在尝试使用更新面板,因此每次单击菜单项时我的页面都不会刷新,但似乎我正在做的事情没有解决,你能帮帮我吗?

顺便说一句,这段代码是子菜单列表的一部分,所以我无法为按钮或类似的东西更改它。 这是我的代码:

<ul id="ebul_mb73g0_2" class="ebul_mb73g0" style="display: none;">
   <li>            
     **<asp:UpdatePanel runat="server" id="UpdatePanel2" updatemode="Conditional">
           <ContentTemplate>
              <a title="" id="btnStock" tabindex="2" onclick="btnStock_Click">Stock</a>    
           </ContentTemplate>
           <Triggers>
              <asp:AsyncPostBackTrigger ControlID="btnStock" eventname="Click" />
           </Triggers>            
      </asp:UpdatePanel>**
   </li>             
   <li><a title="" id="btnSales" tabindex="3">Sales</a></li>
</ul>

这是我得到的执行错误: 在 UpdatePanel 'UpdatePanel2' 中找不到触发器的 ID 为 'btnStock' 的控件

我相信这是因为 &lt;a&gt;&lt;/a&gt; 不是控件,但有什么办法可以解决吗?

感谢您的帮助 =)

【问题讨论】:

    标签: html ajax triggers updatepanel server-error


    【解决方案1】:

    你是对的,&lt;a&gt; 不是服务器端控件。

    我认为您想为此更改为&lt;asp:Button&gt;,因为如果您想引起回发并点击btnStock_Click(),它并不是真正的链接。

    【讨论】:

    • 你知道的事情是我不能把它改成一个
    • 您使用嵌套列表渲染菜单结构并使用 css/js 弹出菜单等。
    • 谢谢你,我想你刚刚解决了我的问题,没想到 =)
    【解决方案2】:

    这也可以通过在标签中添加 runat="server" 来解决,假设需要在服务器端处理按钮点击。

    【讨论】:

      猜你喜欢
      • 2011-10-03
      • 2011-01-16
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      相关资源
      最近更新 更多