我有一个gridview,其中包含gridview中的一些文本框和按钮。我想在单击按钮时使用updatepanels,这样只刷新一个文本框而不是整个页面。我试图在我的gridview中添加我的ScriptManager和UpdatePanel但是我收到错误,说标签没有被识别。
我已经在其他地方寻找解决方案,其他人已经说过将整个gridview放在UpdatePanel中。但是,我不希望更新整个网格(它非常冗长)。是否可以在gridview中使用单独的UpdatePanel?
修改
以下是一些与我的问题相关的代码:
<asp:UpdatePanel ID="UpdatePanel" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="PCalendar" EventName="SelectedChange" />
</Triggers>
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField HeaderText="QS">
<ItemTemplate>
<asp:TextBox ID="TextBox" runat="server" Text=' <%#Bind("PDate") %>' OnTextChanged="SetTextBox" AutoPostBack="True"></asp:TextBox>
<asp:ImageButton ID="PButton" runat="server" OnClick="ShowCalendar" ImageUrl="../images/calendarIcon.jpg" />
<asp:Calendar ID="PCalendar" runat="server" Visible="false" OnSelectionChanged="SetDate" ></asp:Calendar>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
答案 0 :(得分:1)
以下是它的分类。发布代码后,您将更容易了解自己的距离以及如何正确地帮助您。但这是一般的想法。
<asp:UpdatePanel ID="UpdatePanel" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="buttonOneID" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="buttonTwoID" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server">
<Columns>
//columns code here
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>