通过asp.net(C#)中DataGrid中的超链接传递的动态参数

本文关键字:超链接 动态 参数 asp DataGrid 通过 net | 更新日期: 2023-09-27 17:58:29

      <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" 
        CellPadding="4">
    <Columns>
    <asp:BoundField DataField="FileID" HeaderText="FileID" />
    <asp:BoundField DataField="FilePath" HeaderText="FilePath" />
    <asp:BoundField DataField="UploadedBy" HeaderText="CreatedBy" />
    <asp:BoundField DataField="CreatedDate" HeaderText="CreatedDate" /> 

        <asp:HyperLinkField HeaderText="LINK" NavigateUrl="show.aspx" Text="SHOW" />

    </Columns>

      conn.Open();
             SqlDataReader rdr = comm.ExecuteReader();
             if (NAME.Equals("admin"))
             {
                 GridView1.DataSource = rdr;
                 GridView1.DataBind();
             }
             else
             {
                 GridView2.DataSource = rdr;
                 GridView2.DataBind();
             }
             rdr.Close();

我想使用Gridview中的超链接来根据单击的行动态传递值。由于我是新手,我不能那样做。请任何人帮助我。

通过asp.net(C#)中DataGrid中的超链接传递的动态参数

hyperlink NavigateUrl属性设置为。。。NavigateUrl='<%# Eval("FileID", "show.aspx?ID={0}" %>'

NavigateUrl='<%# Eval("FileID", "show.aspx?ID={0}") + "&FilePath=" + Eval("FilePath") %>'

在网格中添加onRowCommand事件

OnRowCommand="OnRowCommand_GridView1"

然后用CommandName和CommandArgument 定义链接按钮

      <asp:LinkButton ID="lnk1" runat="server" Text="DoClick"  CommandName="Select" CommandArgument='<%#Eval("FileID") %>'></asp:LinkButton>

和后面的代码

protected void GridView1_OnRowCommand(object sender, GridViewCommandEventArgs e)
    {
       if (e.CommandName == "Select")
        {
          int MyFileID = e.CommandArgument;
       //Now Perfrom here ur desired action
       }

希望这对你有帮助。

检查GridView 的RowCommand

检查以下链接:如何在GridView行命令事件中获取当前行?

有关行命令的信息:GridView.RowCommand Event