【问题标题】:A control with ID could not be found for the trigger in UpdatePanel- COMMAND ARGUMENT WORKAROUND在 UpdatePanel-COMMAND ARGUMENT WORKAROUND 中找不到触发器的 ID 控件
【发布时间】:2016-03-02 16:47:15
【问题描述】:

这是一个带有触发器的更新面板:

<asp:UpdatePanel runat="server" ID="UpdatePanel1" ChildrenAsTriggers="true">
   <ContentTemplate>
      <p> Much wow! </p>
   </ContentTemplate>
   <Triggers>
   <asp:AsyncPostBackTrigger ControlID='x' EventName="Command" />
   </Triggers>
</asp:UpdatePanel>

这是我的中继器(不在更新面板内):

<asp:Repeater ID="Repeater1" runat="server">
   <ItemTemplate>
     <asp:LinkButton ID="x" OnCommand="x_command" runat="server" CommandArgument='<%#Eval("y") %>'>
   </ItemTemplate>
</asp:Repeater>

我找不到链接按钮的 controlID。 我试过注册控件,控件被注册了,但是更新面板还是找不到控件。

注册控件的代码-

Protected Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
   Dim lb As LinkButton = TryCast(e.Item.FindControl("dude1"), LinkButton)
   ScriptManager.GetCurrent(Me).RegisterAsyncPostBackControl(lb)
   Response.Write("afa")
End Sub

【问题讨论】:

  • 我已经被困了好几天了,如果有任何帮助/建议,我将不胜感激。
  • 有没有其他方法可以做到这一点?

标签: vb.net updatepanel repeater scriptmanager


【解决方案1】:

我刚刚意识到——我不需要做的就是在更新面板中将按钮定义为触发器。 当您将其注册为 asyncpostback 控件时,它已经充当触发器。

希望这对遇到困难的人有所帮助。

【讨论】:

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