HyperLinkColumn 类

定义

包含列中每一项的超链接的 DataGrid 控件的列类型。

public ref class HyperLinkColumn : System::Web::UI::WebControls::DataGridColumn
public class HyperLinkColumn : System.Web.UI.WebControls.DataGridColumn
type HyperLinkColumn = class
    inherit DataGridColumn
Public Class HyperLinkColumn
Inherits DataGridColumn
继承
HyperLinkColumn

示例

以下示例演示如何创建 HyperLinkColumn 链接到单独页面的 。

注意

下面的代码示例使用单文件代码模型,如果直接复制到代码隐藏文件中,可能无法正常工作。 此代码示例必须复制到扩展名为 .aspx 的空文本文件中。 有关 Web 窗体代码模型的详细信息,请参阅 ASP.NET Web 窗体页代码模型

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

<head>
    <title>HyperLinkColumn Example</title>
<script runat="server">

      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;

         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("PriceValue", typeof(Double)));
       
         for (int i = 0; i < 3; i++) 
         {
            dr = dt.NewRow();

            dr[0] = i;
            dr[1] = (Double)i * 1.23;

            dt.Rows.Add(dr);
         }

         DataView dv = new DataView(dt);
         return dv;
      }

      void Page_Load(Object sender, EventArgs e) 
      {
         MyDataGrid.DataSource = CreateDataSource();
         MyDataGrid.DataBind();
      }

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3>HyperLinkColumn Example</h3>

      <asp:DataGrid id="MyDataGrid" 
           BorderColor="black"
           BorderWidth="1"
           GridLines="Both"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#aaaadd"/>

         <Columns>

            <asp:HyperLinkColumn
                 HeaderText="Select an Item"
                 DataNavigateUrlField="IntegerValue"
                 DataNavigateUrlFormatString="detailspage.aspx?id={0}"
                 DataTextField="PriceValue"
                 DataTextFormatString="{0:c}"
                 Target="_blank"/>
           
         </Columns>

      </asp:DataGrid>

   </form>

</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

<head>
    <title>HyperLinkColumn Example</title>
<script runat="server">

      Function CreateDataSource() As ICollection 
      
         Dim dt As DataTable = New DataTable()
         Dim dr As DataRow
         Dim i As Integer

         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("PriceValue", GetType(Double)))
       
         For i = 0 to 2 
         
            dr = dt.NewRow()

            dr(0) = i
            dr(1) = CDbl(i) * 1.23

            dt.Rows.Add(dr)

         Next i

         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function

      Sub Page_Load(sender As Object, e As EventArgs) 
    
         MyDataGrid.DataSource = CreateDataSource()
         MyDataGrid.DataBind()

      End Sub

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3>HyperLinkColumn Example</h3>

      <asp:DataGrid id="MyDataGrid" 
           BorderColor="black"
           BorderWidth="1"
           GridLines="Both"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#aaaadd"/>

         <Columns>

            <asp:HyperLinkColumn
                 HeaderText="Select an Item"
                 DataNavigateUrlField="IntegerValue"
                 DataNavigateUrlFormatString="detailspage.aspx?id={0}"
                 DataTextField="PriceValue"
                 DataTextFormatString="{0:c}"
                 Target="_blank"/>
           
         </Columns>

      </asp:DataGrid>

   </form>

</body>
</html>

下面的相应示例显示上一示例中选定的项。

<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Details page for DataGrid</title>
<script runat="server">
 
      void Page_Load(Object sender, EventArgs e) 
      {
         Label1.Text = "You selected item: " + Request.QueryString["id"];
      }
 
   </script>
 
</head>
<body>
 
   <h3>Details page for DataGrid</h3>
 
   <asp:Label id="Label1"
        runat="server"/>
 
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Details page for DataGrid</title>
<script runat="server">
 
      Sub Page_Load(sender As Object, e As EventArgs) 
      
         Label1.Text = "You selected item: " & Request.QueryString("id")
      
      End Sub
 
   </script>
 
</head>
<body>
 
   <h3>Details page for DataGrid</h3>
 
   <asp:Label id="Label1"
        runat="server"/>
 
</body>
</html>

注解

HyperLinkColumn使用 控件中的DataGrid列类型为 中的DataGrid每一行创建超链接。 Text设置 属性以指定超链接的标题文本。 若要指定单击超链接时要链接到的 URL,请 NavigateUrl 设置 属性。

注意

如果设置 TextNavigateUrl 属性,则列中的所有超链接将共享相同的标题和 URL。

还可以将 中 HyperLinkColumn 超链接的文本标题和 URL 绑定到数据源中的字段,而不是设置 TextNavigateUrl 属性。 这使你可以显示不同的标题,并为列中的每个超链接指定不同的 URL。

DataTextField使用 属性指定数据源中的字段以绑定到列中超链接的文本标题。

注意

DataTextFieldText 属性不能同时设置。 如果同时设置了这两个属性,则 DataTextField 属性优先。

通过设置 属性指定要绑定到超链接 URL 的 DataNavigateUrlField 字段。

注意

DataNavigateUrlFieldNavigateUrl 属性不能同时设置。 如果同时设置了这两个属性,则 DataNavigateUrlField 属性优先。

属性 Target 允许指定窗口或框架,以在单击超链接时显示链接到的网页内容。

使用数据绑定时,可以通过分别设置 DataTextFormatString 和 属性来设置超链接的文本标题和 DataNavigateUrlFormatString URL 的格式。

注意

此控件可用于显示用户输入,其中可能包括恶意客户端脚本。 在应用程序中显示之前,请检查从客户端发送的任何信息,以获取可执行脚本、SQL 语句或其他代码。 在控件中显示输入文本之前,可以使用验证控件来验证用户输入。 ASP.NET 提供了输入请求验证功能,用于阻止用户输入中的脚本和 HTML。 有关详细信息,请参阅 保护标准控件如何:通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本攻击验证 ASP.NET 网页中的用户输入

构造函数

HyperLinkColumn()

初始化 HyperLinkColumn 类的新实例。

属性

DataNavigateUrlField

获取或设置数据源中要绑定到 HyperLinkColumn 中的超链接的 URL 的字段。

DataNavigateUrlFormatString

获取或设置当 URL 数据绑定到数据源中的字段时,HyperLinkColumn 中的超链接的 URL 的显示格式。

DataTextField

获取或设置数据源中要绑定到 HyperLinkColumn 中的超链接的文本标题的字段。

DataTextFormatString

获取或设置 HyperLinkColumn 列中超链接的文本标题的显示格式。

DesignMode

获取一个值,该值指示列是否处于设计模式。

(继承自 DataGridColumn)
FooterStyle

获取列的脚注部分的样式属性。

(继承自 DataGridColumn)
FooterText

获取或设置列的脚注部分中显示的文本。

(继承自 DataGridColumn)
HeaderImageUrl

获取或设置列的页眉节中显示的图像的位置。

(继承自 DataGridColumn)
HeaderStyle

获取列的页眉节的样式属性。

(继承自 DataGridColumn)
HeaderText

获取或设置在列的页眉节中显示的文本。

(继承自 DataGridColumn)
IsTrackingViewState

获取一个值,该值确定是否标记 DataGridColumn 对象以保存其状态。

(继承自 DataGridColumn)
ItemStyle

获取列的项单元格的样式属性。

(继承自 DataGridColumn)
NavigateUrl

获取或设置当单击列中的超链接时链接到的 URL。

Owner

获取列是其成员之一的 DataGrid 控件。

(继承自 DataGridColumn)
SortExpression

获取或设置选择进行排序的列时传递到 OnSortCommand(DataGridSortCommandEventArgs) 方法的字段或表达式的名称。

(继承自 DataGridColumn)
Target

获取或设置单击列中的超链接时显示链接到的网页内容的目标窗口或框架。

Text

获取或设置要为列中的超链接显示的文本标题。

ViewState

获取 StateBag 对象,它允许从 DataGridColumn 类派生的列存储其属性。

(继承自 DataGridColumn)
Visible

获取或设置一个值,该值指示此列在 DataGrid 控件中是否可见。

(继承自 DataGridColumn)

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
FormatDataNavigateUrlValue(Object)

使用 DataNavigateUrlFormatString 属性指定的格式来格式化数据绑定 URL。

FormatDataTextValue(Object)

使用 DataTextFormatString 属性指定的格式来格式化数据绑定文本标题。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Initialize()

提供用于将派生自 DataGridColumn 类的列重置为其初始状态的基实现。

InitializeCell(TableCell, Int32, ListItemType)

用包含的超链接初始化表示此列的单元格。

LoadViewState(Object)

加载 DataGridColumn 对象的状态。

(继承自 DataGridColumn)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnColumnChanged()

调用 OnColumnsChanged() 方法。

(继承自 DataGridColumn)
SaveViewState()

保存 DataGridColumn 对象的当前状态。

(继承自 DataGridColumn)
ToString()

返回列的字符串表示形式。

(继承自 DataGridColumn)
TrackViewState()

导致跟踪服务器控件的视图状态的更改,以便这些更改可以存储到服务器控件的 StateBag 对象中。

(继承自 DataGridColumn)

显式接口实现

IStateManager.IsTrackingViewState

获取一个值,该值指示该列是否跟踪视图状态更改。

(继承自 DataGridColumn)
IStateManager.LoadViewState(Object)

加载以前保存的状态。

(继承自 DataGridColumn)
IStateManager.SaveViewState()

返回包含状态更改的对象。

(继承自 DataGridColumn)
IStateManager.TrackViewState()

开始跟踪状态更改。

(继承自 DataGridColumn)

适用于

另请参阅