最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net FindControl方法誤區(qū)和解析

 更新時間:2012年01月09日 21:06:57   作者:  
在ASP.NET中Control都有一個FindControl方法,其作用是根據(jù)ID(注意既不是UniqueID也不是ClientID)在Control所在的命名容器中尋找相應控件,但實際使用中存在很多誤區(qū)和陷阱,下面談談個人對此的理解
1.認為FindControl方法尋找的范圍是給定Control的后代控件。
復制代碼 代碼如下:

<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Panel ID="Panel1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</asp:Panel>
</form>

如上面代碼,后臺用Panel1.FindControl("Button1")尋找,認為這樣范圍小些可以提高效率,其實即使用TextBox1.FindControl("Button1")也一樣能找到。前有所述,F(xiàn)indControl方法是根據(jù)ID在Control所在的命名容器中尋找相應控件。當執(zhí)行TextBox1.FindControl("Button1")時,ASP.NET先獲取TextBox1.NamingContainer,其值為頁面本身(最后生成的xxxx_aspx類實例),再向下遞歸尋找相應ID的控件,所以一樣能找到Button1。

同樣的,如果用TextBox1.FindControl("Label1")也是能找到Label1的。

2.不理解為什么this.FindControl方法找不到GridView里的控件。

其實很好理解,F(xiàn)indControl方法尋找時只在本命名容器下尋找,不會進入其他命名容器中尋找,而命名容器(NamingContainer)不只是頁面本身,還包括GridViewRow、DataListItem、RepeaterItem、UserControl、MasterPage等等諸多控件,這些都繼承了INamingContainer接口,它們的一個顯著特征是其子控件的UniqueID和ClientID一般都不同于ID(除了頂層的頁面對象)。

3.認為FindControl運行效率差。

實際上ASP.NET運行時分析aspx、ascx、master等文件標簽結構,生成類似Dom的控件樹,一般對樹的查詢操作效率還是比較高的,尤其當問題規(guī)模不太大時。一般來說,實際頁面里的控件數(shù)量不可能成千上萬,而且尋找時又不能越過本命名容器,這些因素限制了問題規(guī)模。所以說FindControl的效率并不差。

相關文章

  • ASP.NET Core依賴關系注入

    ASP.NET Core依賴關系注入

    這篇文章介紹了ASP.NET Core中的依賴關系注入,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#編碼好習慣小結

    C#編碼好習慣小結

    c#編寫比較好的習慣
    2008-04-04
  • ASP.Net?Core?MVC基礎系列之項目創(chuàng)建

    ASP.Net?Core?MVC基礎系列之項目創(chuàng)建

    這篇文章介紹了創(chuàng)建ASP.Net?Core?MVC項目的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-02-02
  • ADO.NET 連接數(shù)據(jù)庫字符串小結(Oracle、SqlServer、Access、ODBC)

    ADO.NET 連接數(shù)據(jù)庫字符串小結(Oracle、SqlServer、Access、ODBC)

    ADO.NET 連接數(shù)據(jù)庫字符串小結,包括Oracle、SqlServer、Access、ODBC,需要的朋友可以收藏下
    2012-04-04
  • 頁面包含的處理

    頁面包含的處理

    頁面包含的處理...
    2006-08-08
  • 利用C#遠程存取Access數(shù)據(jù)庫

    利用C#遠程存取Access數(shù)據(jù)庫

    目前,基于數(shù)據(jù)庫服務器的桌面管理程序和Web程序已經有太多的應用了,尤其是網(wǎng)絡的大量普及,孤立地數(shù)據(jù)庫管理系統(tǒng)無法勝任分布式管理應用,但是面對基于Access數(shù)據(jù)庫的現(xiàn)有的桌面應用我們也無法完全的摒棄。我們利用.Net 遠程處理功能將連接和存取Access的行為封裝為一個遠程對象,供網(wǎng)絡中其它客戶端通過調用該遠程對象來存取實際的Access數(shù)據(jù)庫。我們以 C# 2005 為開發(fā)語言來實現(xiàn)上述功能。
    2008-04-04
  • asp.net中將某字符串切割成陣列并排序列出

    asp.net中將某字符串切割成陣列并排序列出

    老師布置的另外一道題是將字符串"a;b;d;z;y;u"切割成陣列并排序列出。老師出這題也許是讓Insus.NET掌握或復習Array.Sort()函數(shù),不管怎樣,先按自己的想法實現(xiàn),然后是等老師的意見
    2012-05-05
  • asp.net FindControl方法誤區(qū)和解析

    asp.net FindControl方法誤區(qū)和解析

    在ASP.NET中Control都有一個FindControl方法,其作用是根據(jù)ID(注意既不是UniqueID也不是ClientID)在Control所在的命名容器中尋找相應控件,但實際使用中存在很多誤區(qū)和陷阱,下面談談個人對此的理解
    2012-01-01
  • asp.net Webconfig中的一些配置

    asp.net Webconfig中的一些配置

    除了手動編輯此文件以外,您還可以使用Web 管理工具來配置應用程序的設置??梢允褂?Visual Studio 中的“網(wǎng)站”->“Asp.Net 配置”選項。
    2010-07-07
  • asp.net 專業(yè)源代碼打包工具

    asp.net 專業(yè)源代碼打包工具

    我想很多人都在網(wǎng)上下載過一些示例代碼,或者收到一些別人給的示例代碼。通常為了方便,都是打成一個壓縮包的形式
    2012-03-03

最新評論

丹寨县| 宝坻区| 娱乐| 四子王旗| 永修县| 迁安市| 桂林市| 淮安市| 临猗县| 喀什市| 巴彦县| 天峻县| 西峡县| 汉川市| 东辽县| 甘洛县| 怀安县| 固始县| 阿克苏市| 南澳县| 永德县| 云和县| 拉孜县| 广灵县| 镇平县| 阿勒泰市| 磐石市| 苍南县| 余庆县| 游戏| 怀远县| 中江县| 敦煌市| 沧州市| 绩溪县| 邓州市| 诸暨市| 吉林市| 垣曲县| 健康| 奎屯市|