单击GridView中的Button后,返回GridView中DropDownList的相应SelectedValue

时间:2014-10-10 18:15:49

标签: asp.net vb.net

我在VB中编写ASP.NET Web表单。我有一个GridView,其中包含以下列和行:

 Product  |   Price   |   Quantity   |   Add to cart
iPhone 6  |   $6000   |(DropDownList)|    (Button)
iPhone 5  |   $5000   |(DropDownList)|    (Button)

GridView的行数取决于SQL Server数据库中的PRODUCT表。

Product列从product_name表中获取PRODUCT

Price列从product_price表中获取PRODUCT

TemplateFieldQuantity每行都有DropDownList(成员:1,2,3)。

TemplateFieldAdd to cart每行都有Button

我想做什么

点击Button行上的nth,只应提交SelectedValueDropDownList的{​​{1}}。

如果nth DropDownList1.SelectedValue不在DropDownList1中,我可以使用Button(它们只在网络表单中出现一次),但我不知道知道我在GridView时如何做同样的事情。

我的问题是:如何以最简单的方式获取GridViewSelectedValue的{​​{1}}?

1 个答案:

答案 0 :(得分:2)

以下代码可能有所帮助。第一个代码块是GridView,我假设你已经使用过这样的代码。想法是拥有TemplateField并且具有rowcommand事件集的网格视图。 TemplateFieldLinkButton,命令名称为CartAdd,当RowCommand被触发时,您会在第二个代码块中获取该事件,并从那里获得{的相应选定值{1}}。

DropDownList

后面的代码块。

<asp:GridView ID="gvw" 
AutoGenerateColumns="False" 
            runat="server"  
            onrowcommand="gvw_RowCommand">

.... .
    <asp:TemplateField HeaderText="View More">
    <ItemTemplate>
        <asp:LinkButton ID="btnCartAdd" CommandArgument='<%# Container.DataItemIndex %>'
            CommandName="CartAdd" runat="server" Text="Add to cart" />
    </ItemTemplate>
   </asp:TemplateField>