欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Asp.Net 不同的OnClick事件區(qū)別小結(jié)(onserverclick,onclientclick)

 更新時間:2012年05月17日 15:45:46   作者:  
下面以 HTML的按鈕( system.web.ui.htmlcontrols ) 和 ASP.NET服務(wù)端按鈕 ( system.web.ui.webcontrols ) 為例
1. HTML控件,如IMG的輸入按鈕等 的 onclick ( 客戶端 )和 onserverclick( 服務(wù)端 )事件,注意 runat="server"。。。

此處的onclick先于onserverclick執(zhí)行。
2.WEB控件,如<asp:button 按鈕等 的 onclientclick( 客戶端 ) 和 onclick ( 服務(wù)端 )事件。。。

 

此處的onclientclick先于onclick執(zhí)行。
onclientclick  事件來自2.0, 它用來取代下列代碼。。。

 

總之,客戶端點擊事件先于服務(wù)器端點擊事件執(zhí)行。也就是說,先執(zhí)行客戶端的Javascript,然后到服務(wù)器端執(zhí)行服務(wù)器的相關(guān)代碼。

附:html控件、html服務(wù)器控件和web用戶控件
asp.net之所以現(xiàn)在開發(fā)方便和快捷,關(guān)鍵是它有一組強大的控件庫,包括web服務(wù)器控件,web用戶控件,web自定義控件,html服務(wù)器控件和html控件等。這里主要說說html控件、html服務(wù)器控件和web服務(wù)器控件的區(qū)別。
1、html控件:就是我們通常的說的html語言標(biāo)記,這些語言標(biāo)記在已往的靜態(tài)頁面和其他網(wǎng)頁里存在,不能在服務(wù)器端控制的,只能在客戶端通過javascript和vbscript等程序語言來控制。<input type="button" id="btn" value="button"/>
2、html服務(wù)器控件:其實就是html控件的基礎(chǔ)上加上runat="server"所構(gòu)成的控件.它們的注意區(qū)別是運行方式不同,html控件運行在客戶端,而html服務(wù)器控件是運行在服務(wù)器端的。參考其他資料是這樣說的: 當(dāng)ASP.NET 網(wǎng)頁執(zhí)行時,會檢查標(biāo)注有無runat 屬性,如果標(biāo)注沒有設(shè)定,那么Html標(biāo)注就會被視為字符串,并被送到字符串流等待送到客戶端,客戶端的瀏覽器會對其進行解釋;如果Html標(biāo)注有設(shè)定runat="server" 屬性,Page 對象會將該控件放入控制器,服務(wù)器端的代碼就能對其進行控制,等到控制執(zhí)行完畢后再將Html服務(wù)器控件的執(zhí)行結(jié)果轉(zhuǎn)換成Html標(biāo)注,然后當(dāng)成字符串流發(fā)送到客戶端進行解釋<input id="Button" type="button" value="button" runat="server" />
3、web服務(wù)器控件:也稱asp.net服務(wù)器控件,是Web Form編程的基本元素,也是asp.net所特有的。它會按照client的情況產(chǎn)生一個或者多個html控件,而不是直接描述html元素。如: <asp:Button ID="Button2" runat="server" Text="Button"/>那么它和html服務(wù)器控件有什么區(qū)別呢?參照其他網(wǎng)頁的資料看法如下:
1)、Asp.net服務(wù)器控件提供更加統(tǒng)一的編程接口,如每個Asp.net服務(wù)器控件都有Text屬性。
2)、隱藏客戶端的不同,這樣程序員可以把更多的精力放在業(yè)務(wù)上,而不用去考慮客戶端的瀏覽器是ie還是firefox,或者是移動設(shè)備。
3)、Asp.net服務(wù)器控件可以保存狀態(tài)到ViewState里,這樣頁面在從客戶端回傳到服務(wù)器端或者從服務(wù)器端下載到客戶端的過程中都可以保存。
4)、事件處理模型不同,Html標(biāo)注和Html服務(wù)器控件的事件處理都是在客戶端的頁面上,而Asp.net服務(wù)器控件則是在服務(wù)器上,舉例來說:
<input id="Button4" type="button" value="button" runat="server"/>是Html服務(wù)器控件,此時我們點擊此按鈕,頁面不會回傳到服務(wù)器端,原因是我們沒有為其定義鼠標(biāo)點擊事件。
<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我們?yōu)镠tml服務(wù)器控件添加了一個onserverclick事件,點擊此按鈕頁面會發(fā)回服務(wù)器端,并執(zhí)行test(object sender, EventArgs e)方法。
<asp:Button ID="Button2" runat="server" Text="Button" />是Asp.net服務(wù)器控件,并且我們沒有為其定義click,但是我們點擊時,頁面也會發(fā)回到服務(wù)器端。
由此可見:Html標(biāo)注和Html服務(wù)器控件的事件是由頁面來觸發(fā)的,而Asp.net服務(wù)器控件則是由頁面把Form發(fā)回到服務(wù)器端,由服務(wù)器來處理。

onclick,onclientclick和onserverclick的區(qū)別

下面以 HTML的按鈕( system.web.ui.htmlcontrols ) 和 ASP.NET服務(wù)端按鈕 (

system.web.ui.webcontrols ) 為例:
1. HTML控件,如IMG的輸入按鈕等 的 onclick ( 客戶端 )和 onserverclick( 服務(wù)端 )事件,

注意 runat="server"。。。
<input type="button" id="btn" name="btn" value="button" runat="server" onserverclick="ServerSideEvent" onclick="SideScript" />

此處的onclick先于onserverclick執(zhí)行。
2.WEB控件,如<asp:button 按鈕等 的 onclientclick( 客戶端 ) 和 onclick ( 服務(wù)端 )事件。。。

<asp:Button ID="btn" text="button" runat="server" OnClick="SideScript" OnClientClick="ClientSideScript" />

此處的onclientclick先于onclick執(zhí)行。
onclientclick 事件來自2.0, 它用來取代下列代碼。。。

btn.Attributes.Add("onclick","SideScript");

總之,客戶端點擊事件先于服務(wù)器端點擊事件執(zhí)行。也就是說,先執(zhí)行客戶端的Javascript,然后

到服務(wù)器端執(zhí)行服務(wù)器的相關(guān)代碼。

ASP.NET中Onclick和OnserverClick事件的區(qū)別

對于服務(wù)器按鈕控件(即<asp:Button>類型的按鈕):
服務(wù)器響應(yīng)事件:OnClick
客戶端響應(yīng)屬性:OnClientClick

對于html按鈕控件(即<input type="button" runat="server">)
服務(wù)器響應(yīng)事件:OnServerClick
客戶端響應(yīng)事件:onclick
asp:Button類型的是onclick
<input type="button" runat="server" />類型的是onserverclick
一個是.net的控件 ~一個是html控件轉(zhuǎn)換成服務(wù)器端控件
效果完全一樣,應(yīng)為input 本身具有onclick的客戶端事件,微軟只能使用onserverclick作為服務(wù)器端響應(yīng)的名稱

相關(guān)文章

  • 一步步打造漂亮的新聞列表(無刷新分頁、內(nèi)容預(yù)覽)第三章

    一步步打造漂亮的新聞列表(無刷新分頁、內(nèi)容預(yù)覽)第三章

    前面兩個章節(jié)我們將需求分析和概要設(shè)計簡單介紹了,接下來是重點的編代碼的階段了(實現(xiàn)無刷新分頁)。在編寫代碼之前,一定要有計劃的去編寫代碼,不能一開始啥也不管就開始編代碼,除非你特牛。
    2010-07-07
  • ASP.NET?MVC模式中應(yīng)用程序結(jié)構(gòu)詳解

    ASP.NET?MVC模式中應(yīng)用程序結(jié)構(gòu)詳解

    本文詳細講解了ASP.NET?MVC模式中的應(yīng)用程序結(jié)構(gòu),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • ASP.NET Substitution 控件的使用方法

    ASP.NET Substitution 控件的使用方法

    Substitution 控件可用于采用緩存配置的 ASP.NET 網(wǎng)頁上。使用 Substitution 控件,可以在網(wǎng)頁上創(chuàng)建一些區(qū)域,這些區(qū)域可以動態(tài)更新,然后集成到緩存的網(wǎng)頁中。
    2016-04-04
  • Visual Studio快速開發(fā)以及Visual Studio 2010新功能介紹

    Visual Studio快速開發(fā)以及Visual Studio 2010新功能介紹

    一直以來都在摸索著vb6.0的一些用法和語法,趁這次培訓(xùn)的機會正好整理Visual Studio的一些快速開發(fā)的技巧,還有一些vs2010的新功能收集和體會,把培訓(xùn)的一些文檔性質(zhì)的記錄下來,希望對各位有用
    2011-12-12
  • asp.net 新聞列表樣式代碼

    asp.net 新聞列表樣式代碼

    asp.net下新聞列表樣式顯示代碼,使用Repeater控件。
    2011-02-02
  • .NET Core 中的并發(fā)編程

    .NET Core 中的并發(fā)編程

    在.NET Core中,任務(wù) (tasks) 是并發(fā)編程的主要抽象表述,但還有其他支撐類可以使我們的工作更容易。下面小編和大家一起學(xué)習(xí)一下吧
    2019-05-05
  • ASP.NET在VS2022中使用Dispose釋放資源實例

    ASP.NET在VS2022中使用Dispose釋放資源實例

    這篇文章介紹了ASP.NET在VS2022中使用Dispose釋放資源實例,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • ASP.NET中Literal控件的使用方法

    ASP.NET中Literal控件的使用方法

    本文主要介紹Literal的使用方法,并簡單列出和Label控件之間的區(qū)別,希望能幫助大家選擇使用。
    2016-04-04
  • 為ABP框架配置數(shù)據(jù)庫

    為ABP框架配置數(shù)據(jù)庫

    這篇文章介紹了為ABP框架配置數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • ASP.NET中HyperLink超鏈接控件的使用方法

    ASP.NET中HyperLink超鏈接控件的使用方法

    本文主要介紹HyperLink控件的基礎(chǔ)用法以及在Repeater中綁定數(shù)據(jù)的一些技巧,希望能幫到大家。
    2016-04-04

最新評論