【问题标题】:Using GridView HyperLinkField to set a CategoryID使用 GridView HyperLinkField 设置 CategoryID
【发布时间】:2010-10-07 05:30:54
【问题描述】:

我正在使用 asp.net,并且正在使用 gridview。我将 GridView 中的一个字段设置为表示类别名称的 HyperLinkField。我从数据库中提取名称和 ID,但我永远无法确定它们是什么,因为它们是单独添加的。我希望能够通过查询字符串将更改的 CategoryId 传递到另一个页面。如何使用 GridView 做到这一点?

【问题讨论】:

    标签: asp.net database gridview hyperlink


    【解决方案1】:

    在您的超链接字段中,将 DataNavigateUrlFields 设置为您的 ID 列,并将 DataNavigateUrlFormatString 设置为要导航到的 Url(其中 {0} 将替换为 ID)

    <asp:HyperLinkField 
        DataNavigateUrlFields="ID" 
        DataNavigateUrlFormatString="Target.aspx?ID={0}"
        DataTextField="Name" 
        Target="_blank">
    </asp:HyperLinkField>
    

    【讨论】:

    • 你的意思是DataTextField="Name",那么就不需要DataTextFormatString
    【解决方案2】:

    您可以使用&lt;asp:TemplateField /&gt; 作为列之一,而不是&lt;asp:BoundField /&gt;

    代码示例:

    <asp:TemplateField HeaderText="Name">
        <ItemTemplate>
           <a href="/new_page?categoryId=<%#Container.DataItem("id")"><%#Container.DataItem("name")</a>
        </ItemTemplate>
    </asp:TemplateField>
    

    可能有比使用锚元素更简洁的方法,但您应该明白这一点。

    【讨论】:

      猜你喜欢
      • 2012-12-25
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多