LinkButton与HyperLink的小结
2010-05-30 16:18 Johnny Qian 阅读(674) 评论(0) 收藏 举报最近项目中用到了Linkbutton,说实话以前不怎么用这个控件,一般都是用HyperLink。
现在才发现LinkButton与HyperLink有很大的差别。
用法上最大的区別是LinkButton有Click事件,支持回发﹐而HyperLink沒有。
LinkButton可以在链接到新页面前﹐做一些其他处理﹐如拼写URL。
而HyperLink像一个超链接,不会回发,和手写Html中的A标签没啥两样。
使用上﹐前者URL参数在PostBackUrl中指定﹐后者在NavigateUrl中指定。
如果LinkButton不声明Click事件﹐通过客户端的代码可以看到是生成了是超链接﹐不过链接中有JS代码﹐是专门为回发而设置的。
如果有PostBackUrl的情況下,在声明了Click事件后则不会回发。要让其linkButton产生回发,则不能在代码中指定Url.
下面是linkbutton回发时传参的代码:
前台代码:
<asp:LinkButton ID="lbt_Del" CausesValidation="False" CommandName="Del"
OnClick="lbt_Del_Click" CommandArgument='<%# Eval("ID") %>' runat="server">删除</asp:LinkButton>后台代码:
protected void lbt_Del_Click(object sender, EventArgs e)
{
string id = ((LinkButton)sender).CommandArgument;
.....
}
本文基于知识共享署名 2.5 中国大陆许可协议发布,欢迎转载、演绎或用于商业目的,但是必须保留本文的署名Johnny Qian和链接。
浙公网安备 33010602011771号