C# 更新面板中多个链接按钮上的PostBackTrigger

C# 更新面板中多个链接按钮上的PostBackTrigger,c#,updatepanel,C#,Updatepanel,我在updatePanel中有一个搜索表单,它在同一updatePanel中检索网格中的用户列表。每个用户的名称都是commandLink。我想让commandLinks成为PostBackTriggers。 但是当我这样做的时候,我在页面加载时得到一个错误,controlId不存在,并且是真的,因为用户网格不是在加载时呈现的,而是通过ajax调用呈现的。 关于如何将通过ajax调用检索的网格中的多个命令按钮作为回发触发器,有什么想法吗 将项添加到网格时,在ItemDataBound事件处理程序

我在updatePanel中有一个搜索表单,它在同一updatePanel中检索网格中的用户列表。每个用户的名称都是commandLink。我想让commandLinks成为PostBackTriggers。 但是当我这样做的时候,我在页面加载时得到一个错误,controlId不存在,并且是真的,因为用户网格不是在加载时呈现的,而是通过ajax调用呈现的。
关于如何将通过ajax调用检索的网格中的多个命令按钮作为回发触发器,有什么想法吗

将项添加到网格时,在
ItemDataBound
事件处理程序中,您应该为每个特定控件注册回发(HTML声明中的静态标识符本质上是占位符-并非网格中重复的所有内容实际上都具有相同的ID)。您可以使用以下方法执行此操作:

RegisterAsyncPostBackControl
方法允许您注册Web站点 服务器控件作为触发器,以便它们执行异步 回发而不是同步回发。当
UpdatePanel
控件的
ChildrenAsTriggers
属性设置为true (这是默认设置),回发控件位于
UpdatePanel
控件自动注册为异步回发 控制


如上所述,也可以使用
ChildrenAsTriggers
,但为了更严格的管理,这通常设置为false。

将项添加到网格时,在
ItemDataBound
事件处理程序中,应该为每个特定控件注册回发(HTML声明中的静态标识符本质上是占位符-并非网格中重复的所有内容实际上都具有相同的ID)

RegisterAsyncPostBackControl
方法允许您注册Web站点 服务器控件作为触发器,以便它们执行异步 回发而不是同步回发。当
UpdatePanel
控件的
ChildrenAsTriggers
属性设置为true (这是默认设置),回发控件位于
UpdatePanel
控件自动注册为异步回发 控制


如上所述,也可以使用
ChildrenAsTriggers
,但为了更严格的管理,通常会将其设置为false。

我找到了解决方案。以下是asp

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <ContentTemplate>
  <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
  <asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" Text="Search" />
  <asp:GridView ID="gvSearchResult" runat="server" OnRowCommand="gvSearchResult_RowCommand" 
                                 OnRowDataBound="gvSearchResult_RowDataBound">
    <Columns>
     <asp:TemplateField HeaderText="Name">
        <ItemTemplate>
          <asp:LinkButton ID="lnkbtnDetail" runat="server" CommandArgument='<%# Bind("CNIC") %>' CommandName="Detail">
            <asp:Label ID="lblName" Text='<%# Bind("Employee_Name") %>' runat="server</asp:Label>
           </asp:LinkButton>
         </ItemTemplate>
         <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle"Height="25px"Width="30%" />
      </asp:TemplateField>
</Columns>
</asp:GridView>

我已经找到了解决方案。下面是asp

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <ContentTemplate>
  <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
  <asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" Text="Search" />
  <asp:GridView ID="gvSearchResult" runat="server" OnRowCommand="gvSearchResult_RowCommand" 
                                 OnRowDataBound="gvSearchResult_RowDataBound">
    <Columns>
     <asp:TemplateField HeaderText="Name">
        <ItemTemplate>
          <asp:LinkButton ID="lnkbtnDetail" runat="server" CommandArgument='<%# Bind("CNIC") %>' CommandName="Detail">
            <asp:Label ID="lblName" Text='<%# Bind("Employee_Name") %>' runat="server</asp:Label>
           </asp:LinkButton>
         </ItemTemplate>
         <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle"Height="25px"Width="30%" />
      </asp:TemplateField>
</Columns>
</asp:GridView>

我的场景有点不同:)链接已经作为异步回发工作,而我希望它们是正常的回发。我有一个更新面板内的搜索表单和网格。“搜索”按钮带来搜索数据并填充更新面板中的网格。现在网格中有默认异步回发调用的链接,这意味着单击这些链接会发送ajax调用,而我希望这些链接是用于重定向的正常回发。我怎样才能使da的链接成为正常的帖子?当这些链接上发生要重定向的异步回发时,它实际上给了我一个解析错误。我的场景有点不同:)这些链接已经作为异步回发工作,而我希望它们是正常的回发。我有一个更新面板内的搜索表单和网格。“搜索”按钮带来搜索数据并填充更新面板中的网格。现在网格中有默认异步回发调用的链接,这意味着单击这些链接会发送ajax调用,而我希望这些链接是用于重定向的正常回发。我怎样才能使da的链接成为正常的帖子?当这些链接上发生异步回发以重定向时,它实际上给了我一个解析错误。