asp控件和html控件的概念區(qū)別
更新時間:2014年06月03日 16:52:34 作者:
這篇文章主要介紹了asp控件和html控件的概念區(qū)別,不清楚的朋友可以參考下
首先我們說說二者的概念區(qū)別吧(相信大家都清楚)
1. asp控件是服務端控件,html是客戶端控件。
2. asp控件在服務端解析后,會轉化為html控件使得客戶端瀏覽器能夠顯示出來。也就是說最終的產物都是html控件。
3. asp控件只有安裝.netFrameWork的服務器才能解析的來,而html用Java,php,asp都可以。
那么下面說說二者的功能實現(xiàn)區(qū)別
1. asp控件是必須發(fā)生頁面提交的(除非強制取消,見2.),而html控件則可以提交也可以不提交(通過type屬性設置)
2. asp控件OnClick與OnClientClick區(qū)別:OnClientClick執(zhí)行客戶端事件響應(由JavaScript控制);OnClick執(zhí)行服務端事件響應。
二者的優(yōu)先級:OnClientClick > OnClick 。
二者同時存在于asp控件時舉例:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="刪除" OnClientClick="return jsDel();" OnClick="btnDel_Click1" />
需要注意的是當我們當擊這個按鈕時,自動先執(zhí)行的客戶端,再執(zhí)行服務器端的.如果客戶端返回的是false,那么服務器端對應的方法永遠不會執(zhí)行.這樣就達到檢測,只有通過才去執(zhí)行服務器端的方法.
也就是說如果我們上面寫成:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="刪除" OnClientClick="jsDel(); return false;" OnClick="btnDel_Click1" />
那么不管jsDel執(zhí)行的結要如何.服務器端對應的btnDel_Click1方法都永遠不會執(zhí)行.因為return false使得始終使客戶端返回false
如果我們寫成:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="刪除" OnClientClick="jsDel();" OnClick="btnDel_Click1" />
那么btnDel_Click1都有會發(fā)生.同樣也就達不到效果.也就是說你沒有通過檢測也去執(zhí)行服務器的方法了.所以必須注意了.
3. asp控件的 OnClick 與html控件的 OnClick 意義不同:前者由服務端事件響應,后者由客戶端響應。
4. html控件加上runat="server"后,與asp控件基本無異(此時已轉化為服務端控件了),服務端就可以響應html控件。
5. html控件里的屬性關鍵字都要是小寫的。所以大家要注意這些細節(jié)了,小小控件也會有大學問的,而且b/s開發(fā)較c/s開發(fā)本身就有復雜度,很多細節(jié)都是不太一樣的。
我們知道,服務器控件,在id會加上一系列的其他參數:
類似:
<asp:CheckBoxList runat="server" ID="chkTrainConfirmType" RepeatDirection="horizontal" style="display:none">
</asp:CheckBoxList>
而在服務器端表現(xiàn):
ctl00_ContentMain_chkTrainConfirmType
而我們要在客戶端操作這些控件,調用id有如下方法:
1.運行頁面查看源代碼 復制ID //不可取
2.document.getElementById("<%=buttn.ClientID%>") //只能在頁面上js代碼獲取 js文件里邊獲取不了 //buttn和下面的txt1均為控件的id
3.在后臺注冊方法 把所需要的ID全部當參數傳進去
Button1.Attributes["click"] = "Button_click(" + txt1.ClientID + "," + txt1.ClientID + "," + txt.ClientID + ");";
1. asp控件是服務端控件,html是客戶端控件。
2. asp控件在服務端解析后,會轉化為html控件使得客戶端瀏覽器能夠顯示出來。也就是說最終的產物都是html控件。
3. asp控件只有安裝.netFrameWork的服務器才能解析的來,而html用Java,php,asp都可以。
那么下面說說二者的功能實現(xiàn)區(qū)別
1. asp控件是必須發(fā)生頁面提交的(除非強制取消,見2.),而html控件則可以提交也可以不提交(通過type屬性設置)
2. asp控件OnClick與OnClientClick區(qū)別:OnClientClick執(zhí)行客戶端事件響應(由JavaScript控制);OnClick執(zhí)行服務端事件響應。
二者的優(yōu)先級:OnClientClick > OnClick 。
二者同時存在于asp控件時舉例:
復制代碼 代碼如下:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="刪除" OnClientClick="return jsDel();" OnClick="btnDel_Click1" />
需要注意的是當我們當擊這個按鈕時,自動先執(zhí)行的客戶端,再執(zhí)行服務器端的.如果客戶端返回的是false,那么服務器端對應的方法永遠不會執(zhí)行.這樣就達到檢測,只有通過才去執(zhí)行服務器端的方法.
也就是說如果我們上面寫成:
復制代碼 代碼如下:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="刪除" OnClientClick="jsDel(); return false;" OnClick="btnDel_Click1" />
那么不管jsDel執(zhí)行的結要如何.服務器端對應的btnDel_Click1方法都永遠不會執(zhí)行.因為return false使得始終使客戶端返回false
如果我們寫成:
復制代碼 代碼如下:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="刪除" OnClientClick="jsDel();" OnClick="btnDel_Click1" />
那么btnDel_Click1都有會發(fā)生.同樣也就達不到效果.也就是說你沒有通過檢測也去執(zhí)行服務器的方法了.所以必須注意了.
3. asp控件的 OnClick 與html控件的 OnClick 意義不同:前者由服務端事件響應,后者由客戶端響應。
4. html控件加上runat="server"后,與asp控件基本無異(此時已轉化為服務端控件了),服務端就可以響應html控件。
5. html控件里的屬性關鍵字都要是小寫的。所以大家要注意這些細節(jié)了,小小控件也會有大學問的,而且b/s開發(fā)較c/s開發(fā)本身就有復雜度,很多細節(jié)都是不太一樣的。
我們知道,服務器控件,在id會加上一系列的其他參數:
類似:
復制代碼 代碼如下:
<asp:CheckBoxList runat="server" ID="chkTrainConfirmType" RepeatDirection="horizontal" style="display:none">
</asp:CheckBoxList>
而在服務器端表現(xiàn):
ctl00_ContentMain_chkTrainConfirmType
而我們要在客戶端操作這些控件,調用id有如下方法:
1.運行頁面查看源代碼 復制ID //不可取
2.document.getElementById("<%=buttn.ClientID%>") //只能在頁面上js代碼獲取 js文件里邊獲取不了 //buttn和下面的txt1均為控件的id
3.在后臺注冊方法 把所需要的ID全部當參數傳進去
Button1.Attributes["click"] = "Button_click(" + txt1.ClientID + "," + txt1.ClientID + "," + txt.ClientID + ");";
相關文章
ASP.NET MVC限制同一個IP地址單位時間間隔內的請求次數
這篇文章介紹了ASP.NET MVC限制同一個IP地址單位時間間隔內請求次數的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10
asp.Net 中獲取一周第一天,一月第一天等實現(xiàn)代碼
.Net中獲取一周第一天、最后一天,一月第一天、最后一天2009-12-12
asp.net中一次性動態(tài)綁定多個droplistdown
asp.net中一次性動態(tài)綁定多個droplistdown的實現(xiàn)代碼,需要的朋友可以參考下。2011-10-10
asp.net獲取ListView與gridview中當前行的行號
這篇文章主要介紹了asp.net獲取ListView與gridview中當前行的行號,實例分析了asp.net針對ListView與gridview獲取行號的實現(xiàn)技巧,需要的朋友可以參考下2016-01-01
在asp.net中操作sql server數據庫的一些小技巧
在asp.net中操作sql server數據庫的一些小技巧...2006-09-09
ASP.NET MVC3 實現(xiàn)全站重定向的簡單方法
這篇文章主要介紹了ASP.NET MVC3 實現(xiàn)全站重定向的簡單方法,有需要的朋友可以參考一下2014-01-01

