当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

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

  在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的方式

相关内容
赞助商链接