HyperlinkColumn 最主要的功能是以超级链接来显示资料源中的一个字段内容,并可以指定使用者点选该项目时所要开启的地址。其使用语法如下所示:
<ASP:HyperlinkColumn DataNavigateUrlField="DataSourceField" DataNavigateUrlFormatString="FormatExpression" DataTextField="DataSourceField" DataTextFormatString="FormatExpression" FooterText="FooterText" HeaderImageUrl="url" HeaderText="HeaderText" NavigateUrl="url" ReadOnly="True | False" SortField="DataSourceFieldToSortBy" Target="window" Text="HyperlinkText" Visible="True | False" /> 其中除了共同基础属性以及样式对象外,常用的属性如下表所示: 
下列程序代码范例以Hyperlink Column 来显示使用者电子邮件信箱字段,若使用者点选了一笔记录,则会开启邮件编辑软件: <%@Import Namespace=System.Data.ADO%> <%@Import Namespace=System.Data%> <!--#Include File="GetTable.inc"--> <Html> <Form Runat="Server"> <ASP:DataGrid Id="dgA" AllowPaging="True" PageSize="5" OnPageIndexChanged="dgA_PageChg" Runat="Server" PagerStyle-Mode="NumericPages" BorderColor="#808080" HeaderStyle-Font-Names="Courier New" HeaderStyle-BackColor="#D1DCEB" HeaderStyle-Font-Bold="True" HeaderStyle-HorizontalAlign="Center" AutoGenerateColumns="False"> <Property Name="Columns"> <ASP:BoundColumn HeaderText="姓名" DataField="UserName"/> <ASP:BoundColumn HeaderText="电话" DataField="UserTel"/> <ASP:HyperlinkColumn HeaderText="电邮" DataNavigateUrlField="UserEmail" DataTextField="UserEmail" DataNavigateUrlFormatString="mailto:{0}" /> </Property> </ASP:DataGrid> </Form> <Script Language="VB" Runat="Server"> Sub Page_Load(Sender As Object, e As EventArgs) If Page.IsPostBack=False Then Dim dtDataTable As DataTable=GetTable("CH08\MyWeb.mdb", "Members") dgA.DataSource=dtDataTable.DefaultView Page.DataBind() End If End Sub Sub dgA_PageChg(Sender As Object, e As DataGridPageChangedEventArgs) Dim dtDataTable As DataTable=GetTable("CH08\MyWeb.mdb", "Members") dgA.DataSource=dtDataTable.DefaultView Page.DataBind() End Sub </SCRIPT> </Html> 上述范例我们以UserEmail 字段做为显示以及欲连结的目标。由于我们希望使用者点选这个字段中的任何一个项目时,可以开启Outlook 来进行邮件的编辑;所以我们必须在使用者的电子邮件信箱地址前将上「mailto:」。要达到这个目的,可以设定DataNavigateUrlFormatString 属性;如下程序代码片段所示: DataNavigateUrlFormatString="mailto:{0}" 其中「{0}」会被DataNavigateUrlField 的内容所取代,所以执行结果如下:
若超级链接的内容是某个网址,只要将NavigateUrlFormatString 属性的内容设定为「"http://{0}"」即可。
|