グリッドビューを使用してデータを表示するページで作業しています。行ごとに複数のテキストボックスを含む ItemTemplate 内に動的に作成されたテキストボックスがいくつかあります。現在、ajax を使用している更新パネルもあり、リンク ボタンがクリックされた場合にのみレンダリングする必要があります。I would like this to occur without a full postback. ただし、現在、リンク ボタンをクリックすると完全なポストバックが発生し、動的に作成されたコントロールが削除されます。
解決に非常に近づいていると感じています。これらのいずれかが発生する必要があります (オプション 1 の方が便利なようです): リンクボタンがクリックされたときにポストバックを発生させず、更新パネルで完全なデータリストをレンダリングします
また
ポストバック中に動的に作成されたコントロールが削除されません。
これが私のコードです:
<ItemTemplate>
[ <asp:LinkButton ID="SelectCommand" CommandName="Select" runat="server" Text="+" CssClass="sunocoBold"/> ]
<%-- start sub panel--%>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:DataList ID="DataList1" runat="server" RepeatDirection="Vertical"
OnItemCommand="DataList_OnItemCommand">
<ItemTemplate>
<asp:LinkButton ID="Select" CommandName="SelectCommand" CommandArgument='<%#Eval("ship_to_num")%>' runat="server" Text='<%#Eval("ship_to_num")%>' />
</ItemTemplate>
</asp:DataList>
</ContentTemplate>
</asp:UpdatePanel>
<%-- end sub panel--%>
</ItemTemplate>
<asp:TemplateField HeaderText="Site Owner" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top">
<ItemTemplate>
<asp:Panel ID="pnlNames" runat="server">
</asp:Panel>
<%-- <asp:Literal ID="NameList" runat="server" /> --%>
</ItemTemplate>
</asp:TemplateField>