一、应用场景
开发网站的时候,经常会遇到要了解某纪录的详细内容的情况。
这时,只有先获取该纪录的关键字段值,然后根据该关键字段
值在后台数据库中查找。如:需要了解某商品的详细情况,那么,
先获取该商品的Id,然后,根据Id值,利用Select,的Where子句
进行条件查询。
二、技术实现
关键是利用linkbutton的"CommandArgument"属性和"OnRowCommand=事件名称"
的GridViewCommandEventArgs(命令事件参数集)
1、利用LinkButton的"CommandArgument"属性设置需要获取的参数;如下例,在GridView的自定义模板列中插入LinkButton链接按钮,然后利用它的CommandArgument属性设置需要获取的该行纪录
关键字段GoodsID的值.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCommand="Grid_Row_Com" AllowPaging="True" PageSize="5" OnPageIndexChanging="Page_Change" >
<Columns>
<asp:BoundField DataField="goodsid" HeaderText="商品序号" />
<asp:BoundField DataField="GoodsName" HeaderText="商品名称" />
<asp:BoundField DataField="GoodsPrice" HeaderText="商品价格" />
<asp:TemplateField HeaderText="商品详情">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# DataBinder.Eval(Container,"DataItem.GoodsID") %>' CommandName="look">商品详细情况介绍</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
2、利用OnRowCommand="行命令事件"的GridViewCommandEventArgs(命令事件参数集)来传递参数;
如本例,OnRowCommand="Grid_Row_Com",然后在protected void Grid_Row_Com(object sender, GridViewCommandEventArgs e)
中定义GridViewCommandEventArgs的实例e,然后通过引用e.CommandArgument.属性来获取GoodsId的值。具体如下:
protected void Grid_Row_Com(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "look")
{
string id = e.CommandArgument.ToString();
Response.Redirect("Ginfo_Code.aspx?id=" + id.ToString());
}
}
通过以上两个步骤,便实现了GoodsId的获取和传递.
本文介绍了如何在开发网站中,通过GridView组件和LinkButton的CommandArgument属性,快速获取并传递商品ID(GoodsID),实现后台数据库的精确查询。关键在于定制模板列的LinkButton,配合OnRowCommand事件处理数据获取和重定向操作。
2703

被折叠的 条评论
为什么被折叠?



