Asp.net 如何将不可见值绑定到Gridview中的超链接URL

Asp.net 如何将不可见值绑定到Gridview中的超链接URL,asp.net,gridview,hyperlink,parameter-passing,Asp.net,Gridview,Hyperlink,Parameter Passing,我在gridview的一列上有一个超链接。假设这个专栏有不同的成果 果实 苹果 香蕉 猕猴桃 橙色的 我的水果应该是超链接,当我悬停或点击链接时,我想将水果的id发送到下一页,而不是水果名 我该怎么做?我只设法链接到下一页,其中来自水果的名称作为参数,我不希望这样。我也不想对水果的id进行选择,因为它在我的gridview中作为一个新列出现,查看水果的id并不有趣,但重要的是将它们作为参数发送,因为我需要在下一页中使用它们 <asp:HyperLinkField DataNavigateU

我在gridview的一列上有一个超链接。假设这个专栏有不同的成果

果实

苹果
香蕉
猕猴桃
橙色的

我的水果应该是超链接,当我悬停或点击链接时,我想将水果的id发送到下一页,而不是水果名

我该怎么做?我只设法链接到下一页,其中来自水果的名称作为参数,我不希望这样。我也不想对水果的id进行选择,因为它在我的gridview中作为一个新列出现,查看水果的id并不有趣,但重要的是将它们作为参数发送,因为我需要在下一页中使用它们

<asp:HyperLinkField DataNavigateUrlFields="FruitName" 
        DataTextField="FruitName" HeaderText="Fruits" 
        DataNavigateUrlFormatString="Cashier.aspx?FruitID={0}" />

如果您将DataNavigateUrl字段更改为“水果ID”(或您的ID列的名称),则应在URL中插入水果ID,同时保留URL文本作为水果名称

<asp:HyperLinkField DataNavigateUrlFields="FruitID" 
        DataTextField="FruitName" HeaderText="Fruits" 
        DataNavigateUrlFormatString="Cashier.aspx?FruitID={0}" />

编辑:



是的,但在我的SQL中,我没有对水果ID进行任何选择,然后我得到一个错误,表明它在SQLDataSource中找不到水果ID。此外,如果我在我的选择中添加水果ID,那么我会在Gridview中再得到一列,我不想这样做,这就是为什么我不这样做的原因。如果你想在URL中找到水果ID,您必须在SQL语句中选择它。要不生成列,请在GridView中设置AutoGenerateColumns=“false”,然后您必须手动在标记中写出所需的列
<asp:GridView runat="server" ...
      AutoGenerateColumns="false">
        <Columns>
              <asp:HyperLinkField DataNavigateUrlFields="FruitID" 
                   DataTextField="FruitName" HeaderText="Fruits" 
                   DataNavigateUrlFormatString="Cashier.aspx?FruitID={0}" />

              <!-- Any other Columns you need to be visible -->
        </Columns>
</asp:GridView>