【问题标题】:How to bind a not visible value to Hyperlink URL in Gridview如何将不可见的值绑定到 Gridview 中的超链接 URL
【发布时间】:2013-10-02 14:02:57
【问题描述】:

我的网格视图中的一列上有一个超链接。假设这个专栏有不同的成果..

水果

苹果
香蕉
猕猴桃
橙色

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

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

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

【问题讨论】:

    标签: asp.net gridview hyperlink parameter-passing


    【解决方案1】:

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

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

    编辑:

    <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>
    

    【讨论】:

    • 是的,但是在我的 SQL 中,我没有对 FruitID 进行任何 SELECT,然后我收到一个错误,提示它在 SQLDataSource 中找不到 FruitID。
    • 另外,如果我在我的选择中添加 FruitID,那么我会在我的 Gridview 中再获得一列,我不希望这样,所以这就是我不这样做的原因..
    • 如果您希望在 URL 中包含 FruitID,则必须在 SQL 语句中选择它。要不生成列,请在 GridView 中设置 AutoGenerateColumns="false",然后您必须在 标签中手动写出所需的列
    猜你喜欢
    • 1970-01-01
    • 2013-01-16
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多