【原】在GridView中超链接的使用(带参数)

本文介绍了在ASP.NET中使用GridView的三种方式实现点击链接列跳转到指定页面的方法,包括使用<a>标签、asp:HyperLink和asp:LinkButton,并详细说明了每种方法的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在GridView中,点击链接列跳转到指定页面

方法1.使用<a>标签

前台:<a href='<%# "OrigImageShow.aspx?id=1&image_id="+Eval("ID")%>' id="tb_search" runat="server"  target="_blank">&nbsp;&nbsp;弹出&nbsp;&nbsp;</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的方式

 

转载于:https://www.cnblogs.com/hinroe/archive/2010/03/29/1699903.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值