GridView中使用超鏈接的技巧
GridView中的超級(jí)鏈接,可以設(shè)置一個(gè)模版列,放入超級(jí)鏈接的控件,設(shè)置綁定參數(shù)即可。
數(shù)據(jù)綁定方式有兩種,如下示例:
Eval方式 <%# Eval("id") %>
Bind方式 <%# Bind("id","~/info.aspx?id={0}") %>
推薦使用第一種方式,可以在一個(gè)<%# %>里放入多個(gè)綁定,而第二種只能如此綁定一個(gè)值
<%# Eval("id") + ":" + Eval("name")%>
做超級(jí)鏈接的控件,我們也有多種選擇:
1 asp:LinkButton
示例
<asp:LinkButton ID="LinkButton2" OnClientClick=<%# "window.open('info.aspx?id=" + Eval("id") + "&name=" + Eval("name") + "')" %> runat="server"><%# "LinkButton方式綁定:" + Eval("id") %></asp:LinkButton>
2 asp:HyperLink
示例
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# "~/info.aspx?id=" + Eval("id") + "&name=" + Eval("name") %>' Text='<%# "HyperLink控件:" + Eval("id") %>'></asp:HyperLink>
3 a標(biāo)簽
示例
<a href='<%# "info.aspx?id=" + Eval("id") + "&name=" + Eval("name") %>'>a標(biāo)簽:<%# Eval("id") + ":" + Eval("name")%></a>
<a href='javascript:alert("<%# "~/info.aspx?id=" + Eval("id") + "&name=" + Eval("name") %>")'>鏈接js事件:<%# Eval("id") %></a>
LinkButton 不好設(shè)置,推薦使用HyperLink或者a的方式,簡(jiǎn)單實(shí)用。特別是a標(biāo)簽,使用javascript的方法也比較方便。
補(bǔ)充:
<asp:LinkButton ID="LinkButton3" runat="server" PostBackUrl='<%# "~/Default.aspx?id=" + Eval("FUserID") %>'
CausesValidation="False" Text="跳轉(zhuǎn)編輯"></asp:LinkButton>
使用模版列來(lái)控制在一個(gè)GridView中某些列有熱連接,某些列無(wú)熱連接
<asp:TemplateField HeaderText="審核">2
<ItemStyle Width="30px" />3
<ItemTemplate>4
<%# (Convert.ToString(Eval("c_status")) == "已審核") ? "" : "<a href=" + "javascript:AudiBehavior(\"" + Eval("c_id") + "\")" + ">審核</a>"%> 5
</ItemTemplate>6
</asp:TemplateField>以上的代碼實(shí)現(xiàn)的效果是,如果當(dāng)前這條記錄"已審核"則在該行中不顯示審核連接,反之則顯示"審核"連接,
protected void gvBehavior_RowCreated(object sender, GridViewRowEventArgs e)2
{3
if (Request.QueryString["MdLimitCode"].ToString().IndexOf("A")<0)4
e.Row.Cells[0].Visible = false; 5
}以上的代碼則可以控制有"A"權(quán)限的人才可以看到第一列


浙公網(wǎng)安備 33010602011771號(hào)