У меня есть GridView внутри UpdatePanel. У GridView есть элемент SELECT CommandField, привязанный к методу Gridview1_SelectedIndexChanged. Я хотел бы, чтобы GridView обновлялся после выбора строки, но это никогда не происходит. Я пробовал несколько разных сценариев, и никто не работает.Обновить GridView после UpdateMethod в UpdatePanel
- Я установил UpdateMode в «Условные» и «Всегда» на UpdatePanel и попытался принудительно обновить UpdatePanel в коде позади.
- Я преобразовал CommandField к TemplateField с кнопкой
Вот продезинфицировать код:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1"
runat="server"
AllowPaging="True"
AllowSorting="True"
AutoGenerateColumns="False"
DataSourceID="ObjectDataSource1"
OnSelectedIndexChanged="GridView1_SelectedIndexChanged"
PagerSettings-Visible="true" EnableViewState="False" >
<Columns>
<asp:CommandField ButtonType="Image"
SelectImageUrl="~/images/icon.gif"
ShowSelectButton="True" />
<asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" />
<asp:BoundField DataField="Title" HeaderText="Title"
SortExpression="Title" />
</Columns>
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="GridView1"
EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
Источник данных выглядит примерно так ...
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
DataObjectTypeName="myNamespace.Item"
InsertMethod="myInsertMethod"
SelectMethod="mySelectMethod"
TypeName="myNamespace.ItemMgr"
UpdateMethod="myUpdateMethod">
</asp:ObjectDataSource>
Это сработало! Хотя я пропустил удаление DataObjectTypeName в источнике данных и получил ошибку соответствия метода. Как только я удалил, он начал работать. Кроме того, то, что я делаю, добавляет элемент в таблицу exclude, поэтому в любом случае это похоже на логическое удаление! – BrianG