Я настроил GridView внутри UpdatePanel. GridView имеет команду SELECT CommandField, которая связана с методом Gridview1_SelectedIndexChanged. Я хотел бы, чтобы GridView обновлялся после выбора строки, но это никогда не происходит. Я пробовал несколько разных сценариев, и ни один из них не работает.
- Я установил UpdateMode на «Условно» и «Всегда» на UpdatePanel и попытался принудительно обновить UpdatePanel в коде.
- Я преобразовал CommandField в поле шаблона с помощью кнопки
Вот санированный код:
<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>