asp.net GridView中超链接的使用(带参数)
更新时间:2010年03月30日 13:04:27 作者:
在GridView中,点击链接列跳转到指定页面的实现代码,需要的朋友可以参考下。
方法1.使用<a>标签,
前台:
<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的方式
前台:
复制代码 代码如下:
<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的方式
您可能感兴趣的文章:
- asp.net gridview 72般绝技
- asp.net GridView控件中模板列CheckBox全选、反选、取消
- asp.net下gridview 批量删除的实现方法
- Asp.net GridView使用大全(分页实现)
- asp.net gridview代码绑定
- asp.net GridView 删除时弹出确认对话框(包括内容提示)
- Asp.net简单代码设置GridView自适应列宽不变形实现思路与代码
- ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录
- ASP.NET GridView中文本内容无法换行(自动换行/正常换行)
- .Net语言Smobiler开发利用Gridview控件设计较复杂的表单
相关文章
ASP.NET 运行时错误: 没有为扩展名“.asax”注册的生成提供程序修正版
ASP.NET 运行时错误: 没有为扩展名“.asax”注册的生成提供程序。可以在 machine.config 或 web.config 中的 <compilation><buildProviders> 节注册一个。2009-01-01
c#设置xml内容不换行及属性xsi:nil=true的空节点添加
c#设置xml内容不换行:添加属性为xsi:nil=true的空节点便可实现,感兴趣的你可以参考下本文,或许有意想不到的收获2013-03-03
关于asp.net button按钮的OnClick和OnClientClick事件
OnClick是button的服务器端事件 OnClientClick是button的客户端事件2009-05-05
asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码
在asp中加一个链接,指向asp.net网页,但asp.net的网址是经过HttpUtility.UrlEncode转换和HttpUtility.UrlDecode解码的,而asp的server.urlencode却和HttpUtility.UrlEncode的编码方式不一样.2010-04-04


最新评论