从GridView控件一个BoundField访问数据 [英] Accessing data from a BoundField of Gridview

查看:196
本文介绍了从GridView控件一个BoundField访问数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样一个GridView

I have a GridView like this

<asp:GridView ID="gv_FilesList" runat="server" AutoGenerateColumns="false" onrowcommand="gv_FilesList_RowCommand">
  <Columns>
    <asp:BoundField DataField="f_Id" Visible="false" HeaderText="File Name" />
  </Columns>  
  <Columns>
   <asp:BoundField DataField="f_Name" HeaderText="File Name" />
  </Columns>                                      
  <Columns>
    <asp:ButtonField ButtonType="Link" Text="Download" CommandName="DownloadFile" HeaderText="Download" />
  </Columns>
</asp:GridView>

现在,当我点击下载按钮,我怎么能得到相应的F_ID为了从数据库中获取相关数据。

Now when I click on the download Button, how can I get the corresponding f_Id in order to get the related data from Database.

推荐答案

这code应该工作,在我的本地测试。

This code should work, tested on my local.

首先,添加<一个href=\"http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.datakeynames.aspx\">DataKeyNames为你的GridView。

First, add DataKeyNames to your GridView.

<asp:GridView ID="gv_FilesList" runat="server" AutoGenerateColumns="false" onrowcommand="gv_FilesList_RowCommand" DataKeyNames="f_Id">
  <Columns>
    <asp:BoundField DataField="f_Id" Visible="false" HeaderText="File Name" />
  </Columns>  
  <Columns>
   <asp:BoundField DataField="f_Name" HeaderText="File Name" />
  </Columns>                                      
  <Columns>
    <asp:ButtonField ButtonType="Link" Text="Download" CommandName="DownloadFile" HeaderText="Download" />
  </Columns>
</asp:GridView>

然后,获得<一个href=\"http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.datakeys.aspx\">DataKeys从codebehind。

Then, access DataKeys from codebehind.

protected void gv_FilesList_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "DownloadFile")
    {
        //row index
        int index = Convert.ToInt32(e.CommandArgument);

        //retrieve f_Id    
        int f_Id = Convert.ToInt32(gv_FilesList.DataKeys[index].Value);

        //download file with f_Id
        DownloadFile(f_Id);
    }
}

这篇关于从GridView控件一个BoundField访问数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆