GridView ItemCommand

GridView ItemCommand中取某行某列的值方法,这里提供两个常用的:

一、用CommandArgument属性取值页面如下:

 <asp:TemplateColumn HeaderText="图片名称">
<ItemTemplate>
<asp:LinkButton ID="btnDownload" runat="server" CommandName="Download" CommandArgument='<%# Eval("IMG_SAVE_NAME") %>' ><%# Eval("IMG_NAME")%></asp:LinkButton> <asp:TextBox ID="Text1" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>

前台代码

后台:

if (e.CommandName == "Download")
{
string strFilePath = e.CommandArgument.ToString();
/// 获取控件的值
     string text=(e.item.findControl("Text1") as TextBox).Text
}

后台代码

注意:用e.item.findControl时,只能获取ItemTemplate模板内控件值,如果是EditItemTemplate是获取不到的。

二、

在绑定GridView时增加DataKeyField

this.gvMain.DataSource = ds.Tables[0];
this.gvMain.DataKeyField = "IMG_NAME";
this.gvMain.DataBind();

然后在ItemCommand中获取

if (e.CommandName == "Download")
        {        
            string strFileName = gvMain.DataKeys[e.Item.ItemIndex].ToString();    
        }

上一篇:.net中创建xml文件


下一篇:Docker学习笔记 — 配置国内免费registry mirror