固然,谈到了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属性来构建之。这个时候,您必须将Name与MemberLevel字段同时指派给DataNavigateUrlFields属性(Name与MemberLevel字段必须以逗号分隔),并利用DataNavigateUrlFormatString属性来加以格式化便可。写法以下所示:
<asp:HyperLinkField
DataNavigateUrlFields="Name, MemberLevel"
DataNavigateUrlFormatString="MemberPage.aspx?Name={0}&MemberLevel={1}"
HeaderText="会员网页" Text="检视会员网页" />