asp.net GridView中超链接的使用(带参数)
程序员文章站
2024-03-07 21:07:15
方法1.使用标签, 前台: 复制代码 代码如下: 复制代码 代码如下:
<a href='<%# "origimageshow.aspx?id=1&image_id="+eval("id")%>' id="tb_search" runat="server" target="_blank"> 弹出 </a>
<a href='javascript:alert("<%# origimageshow.aspx?image_id=" + eval("id")%>")'>弹出</a>
使用<a>标签,不刷新主页面
方法2.:asp:hyperlink
(1)前台:<asp:hyperlink id="hyperlink" runat="server" text='<%# eval("operationflag") %>' target="_blank" ></asp:hyperlink>
后台绑定路径:
复制代码 代码如下:
protected void gridview1_rowdatabound(object sender, gridviewroweventargs e)
{
if (e.row.rowtype == datacontrolrowtype.datarow)
{
hyperlink btnlink = (hyperlink)e.row.cells[3].findcontrol("hyperlink");
hiddenfield hidderid = (hiddenfield)e.row.cells[3].findcontrol("log_id");//通过隐藏域获取要传递的参数
string url = string.empty;
if (hidderid != null)
{
url = "~/imagemanage/logpicdetails.aspx?id=" + hidderid.value;
btnlink.navigateurl = url;
}
}
}
(2)<asp:hyperlink id="hyperlink1" runat="server" navigateurl='<%# "origimageshow.aspx?image_id=" + eval("id")%>'
text="弹出" target="_blank"></asp:hyperlink>
使用asp:hyperlink ,弹出页面不刷新主页面
方法3.asp:linkbutton
(1) 前台:<asp:linkbutton id="tb_searchori" runat="server" text="弹出" onclientclick=<%#"window.open('origimageshow.aspx?image_id="+eval("id")+"')" %> ></asp:linkbutton>
(2) 前台:<asp:linkbutton id="tb_searchori" runat="server" text="弹出" onclick="lb_ori_click" commandargument='<%#bind("id") %>' ></asp:linkbutton>
复制代码 代码如下:
protected void lb_ori_click(object sender, eventargs e)
{
linkbutton lbtn = (linkbutton)sender;
int imgid = int.parse(lbtn.commandargument.tostring());
string url = "origimageshow.aspx?image_id=" + imgid;
url = page.resolveurl(url);
page.clientscript.registerstartupscript(page.gettype(), "messid", "<script language='javascript'>window.open('" + url + "');</script>");
}
使用asp:linkbutton,弹出页面后刷新主页面
综上所述:推荐使用hyperlink或者a的方式