我在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
。
TemplateField
列Quantity
每行都有DropDownList
(成员:1,2,3)。
TemplateField
列Add to cart
每行都有Button
。
我想做什么:
点击Button
行上的nth
,只应提交SelectedValue
行DropDownList
的{{1}}。
如果nth
DropDownList1.SelectedValue
不在DropDownList1
中,我可以使用Button
(它们只在网络表单中出现一次),但我不知道知道我在GridView
时如何做同样的事情。
我的问题是:如何以最简单的方式获取GridView
中SelectedValue
的{{1}}?
答案 0 :(得分:2)
以下代码可能有所帮助。第一个代码块是GridView,我假设你已经使用过这样的代码。想法是拥有TemplateField
并且具有rowcommand
事件集的网格视图。 TemplateField
将LinkButton
,命令名称为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>