我尝试添加指向ASP.NET按钮的链接,将用户重定向到另一个页面。
这是适用于html按钮的代码
<a href="RentArticle.aspx?id=<%# Eval("id") %>">Rent article</a>
但是我想要一个完全相同的ASP按钮。 我已经四处寻找但没有任何作用。
以下是&#34;解决方案&#34;我试过了
解决方案#1失败
<a href="RentArticle.aspx?id=<%# Eval("id") %>"><asp:Button ID="btnRentArticle" runat="server" Text="Rent article" CssClass="mybutton" /></a>
结果:浏览器开始加载但很快停止加载并仍然显示相同的页面。
解决方案#2失败(与Javascript结合)
<script type="text/javascript">
function redirect(articleid) { location.href = 'RentArticle.aspx?id=' + articleid; }
</script>
<asp:Button ID="btnRentArticle" runat="server" onclientclick='redirect(<%#Eval("id")%>)' Text="Rent article" CssClass="mybutton" />
结果:与失败的解决方案#1相同
我做错了什么或者我错过了什么?
答案 0 :(得分:0)
#Eval用于数据绑定表达式,其中有一个容器和一个dataitem。 (例如,Repeater或GridView中的一行。)如果您的按钮不是这种情况,则需要以其他方式获取id。例如,声明一个隐藏字段,在代码隐藏中设置值,并使用javascript检索该值。
答案 1 :(得分:0)
工作示例和最后一个示例之间的区别在于最后一个将回发。您可以通过向点击处理程序添加return false
来阻止此操作:
onclientclick='redirect(<%#Eval("id")%>);return false'