Есть ли одно событие gridview, которое может получить доступ к элементу управления в ItemTemplate
и EditItemTemplate
без дополнительного кода (т. Е. Сессия, viewstate и т. Д.)?
Скажем, мой gridview выглядит так:
<asp:GridView ID="GridView_Sales" runat="server"
AutoGenerateColumns="False"
DataKeyNames="SalesId"
OnRowDataBound="OnRowDataBound"
OnRowEditing="GridView_NSB_RowEditing"
OnRowUpdating="GridView_NSB_RowUpdating"
OnRowCommand="GridView_NSB_RowCommand">
<Columns>
<asp:TemplateField HeaderText="Sold">
<ItemTemplate>
<asp:Label ID="Label_WasSold" runat="server" Text='<%# Eval("WasSold").ToString() %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DropDownList_Sold" runat="server">
<asp:ListItem Value="Yes"> </asp:ListItem>
<asp:ListItem Value="No"> </asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
GridView_RowDataBound
имеет доступ к Label_WasSold
в ItemTempplate
, но не к раскрытию в EditItemTemplate
.GridView_RowEditing
имеет доступ к DropDownList_Sold
, но не к Label_WasSold
;то же самое с GridView_RowUpdating
.
Я хочу сравнить значение в Label_WasSold.Text
со значением в DropDownList_Sold.SelectedValue
при обновлении без добавления дополнительного кода или перетаскивания переменных сеанса из одного места в другое.