Я хочу получить значение скрытого поля в виде сетки из выделенного кода, но не использовать его в _RowDataBound
или любом другом подобном методе. Вот мой настоящий код (это сценарий корзины покупок):
<asp:GridView ID="gvShoppingCart"
runat="server"
AutoGenerateColumns="False"
AllowPaging="True"
DataKeyNames="ID"
ShowFooter="true">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="lblProductID" runat="server" Text='<%# Eval("ProductID") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Product">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# Eval("ProductID", "product_details.aspx?id={0}") %>'
Text='<%# GetProduct(Eval("ProductID")) %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Quantity">
<ItemTemplate>
<asp:TextBox ID="txtQuantity" runat="server" Width="35" CssClass="input" onkeypress="return isNumberKey(event)" AutoPostBack="true" ontextchanged="txtQuantity_TextChanged"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
Ради краткости я удалил некоторые поля, поскольку они есть только для отображения. В поле «Количество» пользователь может ввести число, чтобы добавить количество товаров в свою корзину. Я хочу получить доступ к метке lblProductID
в событии _TextChanged
. В этом же событии я попытался
Label lblProductID = (Label)gvShoppingCart.FindControl("lblProductID");
но это не сработало и возвращает только нулевое значение. Какое решение?