善用GridView控件的HyperLinkField数据行

善用GridView控件的HyperLinkField数据行
 
借助于GridView控件的HyperLinkField数据行,咱们即可以在GridView控件中替每一笔数据列显示出一个超级连接,并让用户轻易从新导向至特定的目标位置(特定网页或网页中的位置)。
 
在使用HyperLinkField数据行时,首先要考虑的就是超级连接上的文字。关于此点,可分为下列两种情况来讲明:
 
q          若是您但愿每一笔数据列的超级连接都显示相同的固定文字,请将HyperLinkField数据行的Text属性设定成所需的文字。图表1所示者便是一例。
                                    图表1
q          若是您但愿使用字段的内容做为每一笔数据列之超级连接的文字,请将HyperLinkField数据行的DataTextField属性设定成该字段。图表2所示者便是一例。

固然,最常与DataTextField属性搭配使用的不外乎就是DataTextFormatString属性。咱们常用DataTextFormatString属性来格式化取自DataTextField属性所指定之字段的数据值。图表3所示者便是一例。
                                       图表2
                                  图表3
    学会如何设定HyperLinkField数据行所产生之超级连接的文字以后,接下来就是学习设定超级连接的目标URL。若是您要让全部的超级连接都连结至相同的URL,请直接将NavigateUrl属性设定成所需的URL。这样的设定虽然最为单纯,可是却也很是不切实际,毕竟就算是连结至相同的网页,也会每一笔数据列连结至相同网页中的不一样位置(也就是书签 BookMark)。所以,较为实用的应该是DataNavigateUrlFields属性,缘由很简单,它容许您指定某一个字段中的URL做为连结的目的地(请注意此属性的名称是以s结尾,这是有玄机的,稍后会加以说明)。以图表4所示者而言,表示以「网址」字段中的URL做为连结的目的地,如此一来,不一样的超级连接将会拥有各自的URL
                             图表4
固然,谈到了DataNavigateUrlFields属性,绝对不能忘了它的好兄弟 DataNavigateUrlFormatString属性。DataNavigateUrlFormatString属性最主要的用途是用来格式化超级连接的URL。举例来讲,假设您指派给DataNavigateUrlFields属性的字段并不是内含完整的URL(例如:[url]http://www.gotop.com.tw[/url])而仅仅是内含网页档的名称(例如:AlexPage.aspx),此时若是但愿超级连接的URL可以在网页档的名称前加上完整的位置路径的话,您能够采用如下的写法:
 
<asp:HyperLinkField DataNavigateUrlFields="我的网页"
                    DataNavigateUrlFormatString="~/Members/{0}"
                    HeaderText="我的网页" Text="检视我的网页" />
 
以上面的写法而言,表示以连结至根目录下之Members数据夹中的网页文件。又如下面的写法而言,则表示连结至一个绝对URL(也就是某网站)中之Members数据夹中的网页文件:
 
<asp:HyperLinkField
 DataNavigateUrlFields="我的网页"
 DataNavigateUrlFormatString="http://www.alexmember.com/Members/{0}"
 HeaderText="我的网页" Text="检视我的网页" />
 
谈到这里,相信你们对HyperLinkField数据行都已经可以运用自如,如今呢,咱们要再回头研究研究DataNavigateUrlFields属性,为何它的名称要特别以s结尾呢?缘由很简单,由于您能够指派一个以上的字段名称给DataNavigateUrlFields属性。何时须要这样作呢?举例来讲,当每个超级连接的URL都是要连结至相同的网页可是却要传递查询字符串给该网页(相似以下所示),以便让目标网页根据不一样的参数值来进行不一样的处理时,就有须要这样作:
 
MemberPage.aspx?Name=章立民&MemberLevel=A
 
欲使您的超级连接拥有相似如上的URL,就必须借助于DataNavigateUrlFields属性来构建之。这个时候,您必须将NameMemberLevel字段同时指派给DataNavigateUrlFields属性(NameMemberLevel字段必须以逗号分隔),并利用DataNavigateUrlFormatString属性来加以格式化便可。写法以下所示:
 
<asp:HyperLinkField
 DataNavigateUrlFields="Name, MemberLevel"
 DataNavigateUrlFormatString="MemberPage.aspx?Name={0}&MemberLevel={1}"
 HeaderText="会员网页" Text="检视会员网页" />
相关文章
相关标签/搜索