用法上最大的區別是LinkButton有Click事件﹐而HyperLink沒有。

其實說專業點﹕LinkButton支持回發﹐可以在鏈接到新頁面前﹐做一些其他處理﹐如檢驗輸入﹑重拼URL等。

而HyperLink則更像一個超鏈接﹐不會回發﹐所以也就處理不了其他的事務。

使用上﹐前者URL參數在PostBackUrl中指定﹐后者在NavigateUrl中指定。

如果LinkButton不聲明Click事件﹐則通過返回到客戶端的代碼可以看到是超鏈接﹐不過鏈接中有JS代碼﹐是專門為回發而設。如果有PostBackUrl的情況下﹐聲明了Click事件也不會回發。如果要讓其產生回發﹐則不能在代碼中指定Url.

而HyperLink完全就是一個鏈接。

 

這兩個控件都是鏈接類型﹐URL參數是必要的。主要說在頁面設計代碼里的綁定方式吧。

1.NavigateUrl='<%#"page.aspx?)%>' 這種方式就是拼接﹐因為URL是字符串﹐所有用几個加號就可以接上﹐方便﹐但可能不太安全。

2.NavigateUrl= '<%#String.Format(page.aspx?id={0},Eval("id"))%> <%# String.Format(Emag_Enter.aspx?nian={0}&qihao={1}, (DataBinder.Eval(Container.DataItem, "nian ")).ToString(), (DataBinder.Eval(Container.DataItem, "qihao ")).ToString()) %>' ,這種方式用標准的字符串格式化方法做﹐比較標准。是較好的風格。

當然﹐你也可以把格式化的方法放在后台去寫。

其實還有很多可以傳參數的方法。比如如果用GridView﹐里面的LinkField就很好用。但其內部還是用的上面的第二種方式。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-24
  • 2022-12-23
  • 2021-07-13
  • 2021-08-10
  • 2022-12-23
猜你喜欢
  • 2021-10-14
  • 2022-12-23
  • 2022-01-09
  • 2021-08-14
  • 2021-05-20
  • 2022-01-11
  • 2022-12-23
相关资源
相似解决方案