HyperLinkColumn クラス
アセンブリ: System.Web (system.web.dll 内)


DataGrid コントロールの HyperLinkColumn 列型を使用して、DataGrid の各行にハイパーリンクを作成します。Text プロパティを設定して、ハイパーリンクのキャプション テキストを指定します。ハイパーリンクがクリックされたときのリンク先の URL を指定するには、NavigateUrl プロパティを設定します。
![]() |
---|
このコントロールは、ユーザー入力を表示するために使用できます。ユーザー入力には悪意のあるクライアント スクリプトが含まれている可能性があります。アプリケーションに表示する前に、クライアントから送信された実行スクリプト、SQL ステートメントなどのコードの情報はすべて検証してください。入力テキストをコントロールに表示する前に、検証コントロールを使用してユーザー入力を検証できます。ASP.NET には入力要求の検証機能があり、ユーザー入力の中のスクリプトおよび HTML をブロックできます。詳細については、「標準コントロールのセキュリティ保護」、「方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する」、および「ASP.NET Web ページにおけるユーザー入力の検証」を参照してください。 |

別個のページにリンクする HyperLinkColumn を作成する方法の例を次に示します。
![]() |
---|
次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「ASP.NET Web ページのコード モデル」を参照してください。 |
<%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <head> <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 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" %> <%@ Import Namespace="System.Data" %> <html> <head> <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 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" %> <html> <head> <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>
<%@ Page Language="C#" AutoEventWireup="True" %> <html> <head> <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>


System.Web.UI.WebControls.DataGridColumn
System.Web.UI.WebControls.HyperLinkColumn


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HyperLinkColumn メンバ
System.Web.UI.WebControls 名前空間
DataGridColumn クラス
DataGridColumnCollection クラス
DataGrid クラス
HyperLink クラス
BoundColumn クラス
ButtonColumn クラス
EditCommandColumn クラス
TemplateColumn
その他の技術情報
標準コントロールのセキュリティ保護
方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する
ASP.NET Web ページにおけるユーザー入力の検証
- HyperLinkColumn クラスのページへのリンク