Как получить значения элементов datalist при нажатии кнопки?
Я пытаюсь получить значение из моих меток в datalist для печати на другую метку, и я получаю ошибку " ССЫЛКА на объект не установлена на экземпляр объекта"
Вот мои таблицы:
<table> <tr> <td> <asp:DataList ID="ProdList" runat="server" DataKeyField="PRDProdID" DataSourceID="SqlDataSource1" RepeatColumns="3" BackColor="LightYellow" BorderColor="Black" BorderStyle="Dotted" BorderWidth="2px" CellPadding="10" CellSpacing="10" Font-Bold="True" Font-Names="Calibri" Font-Size="Small" RepeatDirection="Horizontal" Width="1000px"> <ItemTemplate> <table> <tr> <td valign="top"> <asp:Image ID="Image1" runat="server" Height="100" Width="100" /> </td> <td valign="top"> <table> </tr> <tr> <td> <asp:Label ID="PRDProdIDLabel" runat="server" Text='<%# Eval("PRDProdID") %>' Visible="False" /> </td> </tr> <tr> <td> <asp:Label ID="PRDCATIDLabel" runat="server" Text='<%# Eval("PRDCATID") %>' Visible="False" /> </td> </tr> <tr> <td> SKU#: <asp:Label ID="PRDProdCodeLabel" runat="server" Text='<%# Eval("PRDProdCode") %>' /> </td> </tr> <tr> <td> Product: <asp:Label ID="PRDNameLabel" runat="server" Text='<%# Eval("PRDName") %>' /> </td> </tr> <tr> <td> Description: <asp:Label ID="PRDDescriptionLabel" runat="server" Text='<%# Eval("PRDDescription") %>' /> </td> </tr> <tr> <td> Customer Rating: <asp:Label ID="PRDCustomerRatingLabel" runat="server" Text='<%# Eval("PRDCustomerRating") %>' /> </td> </tr> <tr> <td> List Price: <asp:Label ID="PRDListPriceLabel" runat="server" Text='<%# Eval("PRDListPrice", "{0:C}") %>' /> </td> </tr> <tr> <td> <asp:Label ID="PRDPictureLabel" runat="server" Text='<%# Eval("PRDPicture") %>' Visible="False" /> </td> </tr> <tr> <td> In Stock: <asp:Label ID="PRDInStockLabel" runat="server" Text='<%# Eval("PRDInStock") %>' /> </td> </tr> <tr> <td> <asp:Label ID="PRDThumbLabel" runat="server" Text='<%# Eval("PRDThumb") %>' Visible="False" /> </td> </tr> <tr> <td> <asp:Label ID="PRDPictureEnlargeLabel" runat="server" Text='<%# Eval("PRDPictureEnlarge") %>' Visible="False" /> </td> </tr> <tr> <td> Price: <asp:Label ID="PRDPriceLabel" runat="server" Text='<%# Eval("PRDPrice", "{0:C}") %>' /> </td> </tr> </table> </tr> </td> <tr> <td> <asp:Button ID="addtocartbutton" runat="server" Text="Add to Cart" Font-Bold="True" Font-Names="calibri" Font-Size="Smaller" CommandName="addtocart" /> </td> </tr> </table> </ItemTemplate> </asp:DataList> </td> </tr> </table> <asp:Label ID="Label1" runat="server" Text="Label" ForeColor="White"></asp:Label>
и мой отделенного кода:
Protected Sub ProdList_ItemCommand(source As Object, e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles ProdList.ItemCommand If e.CommandName = "addtocart" Then Dim prodid = DirectCast(e.Item.FindControl("PRDProdID"), Label) Dim prodname = DirectCast(e.Item.FindControl("PRDName"), Label) Label1.Text = prodname.Text Else End If End Sub
могу ли я не использовать имя команды кнопки в itemcommand?