asp.net DataList中hyperlink传递参数及打开新页面全解

本文详细介绍了在ASP.NET中使用DataList控件时,如何通过HyperLink正确传递参数到新页面,避免了浏览器对弹窗的屏蔽,并提供了从数据库获取链接地址的示例。

最近做个小东西,发现DataList中hyperlink传递参数不好做,找了许多论坛、文章都不尽如人意,后来经过自己捉摸,终于找到了实现的方法,现在贴出来大家共享!

在aspx页面源码中书写方式如下:

<asp:HyperLink ID="HyperLink1" runat="server"  Width="177px" NavigateUrl='<%# "ToGoal.aspx?ID=" +  DataBinder.Eval( Container.DataItem,"ID") %>' ><%# DataBinder.Eval( Container.DataItem,"Text") %></asp:HyperLink></td>

做完这个之后感觉有点不太满意,因为我想打开新的页面,而不是在原页面进行跳转,原来经常使用的
 response.write("<script language=javascript>window.open('new.aspx');</script>")
 会被认为是弹出窗口被浏览器屏蔽,所以只好想其他办法。后来发现写成下边这样就可以了。
<asp:HyperLink ID="HyperLink1" runat="server"  Width="177px"  ><a href="http://www.sina.com"  target="_blank"><%# DataBinder.Eval( Container.DataItem,"Text") %></a></asp:HyperLink></td>

如果你的链接地址是从数据库取出来的,那就写成下边这样:
<asp:HyperLink ID="HyperLink1" runat="server"  Width="177px"  ><a href='<%# "http://" +  DataBinder.Eval( Container.DataItem,"Url") %>' target="_blank"><%# DataBinder.Eval( Container.DataItem,"Url") %></a></asp:HyperLink></td>

转载于:https://www.cnblogs.com/liulanglang/archive/2011/12/09/2281494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值