上回寫的是網(wǎng)站制作C#基礎(chǔ)值數(shù)值轉(zhuǎn)換 這次也不再廢話了~我們再次學(xué)習(xí)asp.net的GridView 添加超鏈接的方法!
GridView 看似很死板,其實(shí)它的的功能很強(qiáng)大,只要我們耐心研究,都能滿足我們的需求的。今天要說的是為其列添加超鏈接。 一種是使用 HyperLinkField
這很簡單,通過可視化設(shè)計,只要設(shè)計好超鏈接模板,就可以了,當(dāng)然,其擴(kuò)展性也不強(qiáng)。
將要使用的字段寫在 DataNavigateUrlFields 中,多個字段用逗號隔開。
將超鏈接模板寫在 DataNavigateUrlFormatString 中,模板中要引用 DataNavigateUrlFields 的字段值時,就用 {0}、{1}、{2}……分別表示第 1、2、3……個字段。
<asp:HyperLinkField DataNavigateUrlFields="vid,cid"
DataNavigateUrlFormatString="?vid={0}&cid={1}" Text="鏈接" />
超鏈接文字也是類似。
另外一種是在模板中使用
模板中使用也非常簡單,只是要注意使用 HyperLink 這個服務(wù)器端控件不一定功能強(qiáng)大。
<asp:HyperLink runat="server" Text='<%# Eval("realName") %>' NavigateUrl='?uid=<%# Eval("uid")%>'></asp:HyperLink>
實(shí)際上,上面的代碼有問題,Eval("realName") 由于直接放在屬性中,可以解析出來,而 Eval("uid") 和一些文字混雜起放在屬性中,Eval("uid") 就解析不出來,會直接按原樣輸出到客戶端。 解決方法很簡單,就是不用服務(wù)器端控件,直接用 HTML 的 a 標(biāo)簽。
<a href="?uid=<%# Eval("uid")%>"><%# Eval("realName") %></a>