『壹』 Java Web中jsp頁面的按鈕點擊事件求解~
1、你這個提交按鈕會有一個onclick事件
<input type="button" value="提交" onclick="a();"/>/*這個a()是指一個js事件*/
<script>
function a(){
alert(1);
/*這里可以去處理事件*/
}
</script>
2、你說的action=""是說form表單裡面的"action"嗎?
比如說:<form action="" id="" name="">這個action是指你的form表單要提交數據到指定的路徑。
『貳』 .net web窗體事件
protected void Page_PreRender(object sender, EventArgs e);OnPreReader事件.
OnPreReader事件是在頁面已經執行完所有後台代碼,並且在生成標准HTML代碼前,將要呈現給Page類的時候,此事件發生。
『叄』 web前端的事件原理是什麼呢
在web控制項發生事件時,客戶端採用提交的形式將數據交回服務端,服務端先調用Page_Load事件,然後根據傳回的狀態信息自動調用服務端事件自動傳回是當我們在點擊客戶端控制項時,採用提交表單的形式將數據直接傳回到務端
只有通過自動傳回才能實現服務端事件的機制,如果沒有自動回傳機制就只能調用客戶端事件,而不能調用服務端事件
『肆』 Web 瀏覽器控制項怎麼獲取在Web中響應的按鈕事件
你可以使用ie的調試器F12點開F12,選擇探查器,然後點擊「開始配置文件」,然後在頁面上點擊按鈕,然後再回到選擇「停止配置文件」你就可以看到觸發這個點擊事件的方法了
『伍』 在web應用程序中哪些對象的改變可能產生事件
面向對象(Object Oriented,OO)是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
談到面向對象,這方面的文章非常多。但是,明確地給出對象的定義或說明對象的定義的非常少——至少我現在還沒有發現。其初,「面向對象」是專指在程序設計中採用封裝、繼承、抽象等設計方法。可是,這個定義顯然不能再適合現在情況。面向對象的思想已經涉及到軟體開發的各個方面。如,面向對象的分析(OOA,Object Oriented Analysis),面向對象的設計(OOD,Object Oriented Design)、以及我們經常說的面向對象的編程實現(OOP,Object Oriented Programming)。許多有關面向對象的文章都只是講述在面向對象的開發中所需要注意的問題或所採用的比較好的設計方法。看這些文章只有真正懂得什麼是對象,什麼是面向對象,才能最大程度地對自己有所裨益。這一點,恐怕對初學者甚至是從事相關工作多年的人員也會對它們的概念模糊不清。
面向對象是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
一、傳統開發方法存在問題
1.軟體重用性差
重用性是指同一事物不經修改或稍加修改就可多次重復使用的性質。軟體重用性是軟體工程追求的目標之一。
2.軟體可維護性差
軟體工程強調軟體的可維護性,強調文檔資料的重要性,規定最終的軟體產品應該由完整、一致的配置成分組成。在軟體開發過程中,始終強調軟體的可讀性、可修改性和可測試性是軟體的重要的質量指標。實踐證明,用傳統方法開發出來的軟體,維護時其費用和成本仍然很高,其原因是可修改性差,維護困難,導致可維護性差。
3.開發出的軟體不能滿足用戶需要
用傳統的結構化方法開發大型軟體系統涉及各種不同領域的知識,在開發需求模糊或需求動態變化的系統時,所開發出的軟體系統往往不能真正滿足用戶的需要。
用結構化方法開發的軟體,其穩定性、可修改性和可重用性都比較差,這是因為結構化方法的本質是功能分解,從代表目標系統整體功能的單個處理著手,自頂向下不斷把復雜的處理分解為子處理,這樣一層一層的分解下去,直到僅剩下若干個容易實現的子處理功能為止,然後用相應的工具來描述各個最低層的處理。因此,結構化方法是圍繞實現處理功能的「過程」來構造系統的。然而,用戶需求的變化大部分是針對功能的,因此,這種變化對於基於過程的設計來說是災難性的。用這種方法設計出來的系統結構常常是不穩定的 ,用戶需求的變化往往造成系統結構的較大變化,從而需要花費很大代價才能實現這種變化。
二、面向對象的基本概念
(1)對象。
對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。
(2)對象的狀態和行為。
對象具有狀態,一個對象用數據值來描述它的狀態。
對象還有操作,用於改變對象的狀態,對象及其操作就是對象的行為。
對象實現了數據和操作的結合,使數據和操作封裝於對象的統一體中
(3)類。
具有相同或相似性質的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。
類具有屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性。
類具有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描述。
(4)類的結構。
在客觀世界中有若干類,這些類之間有一定的結構關系。通常有兩種主要的結構關系,即一般--具體結構關系,整體--部分結構關系。
①一般——具體結構稱為分類結構,也可以說是「或」關系,或者是「is a」關系。
②整體——部分結構稱為組裝結構,它們之間的關系是一種「與」關系,或者是「has a」關系。
(5)消息和方法。
對象之間進行通信的結構叫做消息。在對象的操作中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操作的信息。發送一條消息至少要包括說明接受消息的對象名、發送給該對象的消息名(即對象名、方法名)。一般還要對參數加以說明,參數可以是認識該消息的對象所知道的變數名,或者是所有對象都知道的全局變數名。
類中操作的實現過程叫做方法,一個方法有方法名、參數、方法體。消息傳遞如圖10-1所示。
二、面向對象的特徵
(1)對象唯一性。
每個對象都有自身唯一的標識,通過這種標識,可找到相應的對象。在對象的整個生命期中,它的標識都不改變,不同的對象不能有相同的標識。
(2)分類性。
分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的劃分都是主觀的,但必須與具體的應用有關。
(3)繼承性。
繼承性是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,並加入若干新的內容。
繼承性是面向對象程序設計語言不同於其它語言的最重要的特點,是其他語言所沒有的。
在類層次中,子類只繼承一個父類的數據結構和方法,則稱為單重繼承。
在類層次中,子類繼承了多個父類的數據結構和方法,則稱為多重繼承。
在軟體開發中,類的繼承性使所建立的軟體具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創建工作量,增加了代碼的可重性。
採用繼承性,提供了類的規范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟體的重用性。
(4)多態性(多形性)
多態性使指相同的操作或函數、過程可作用於多種類型的對象上並獲得不同的結果。不同的對象,收到同一消息可以產生不同的結果,這種現象稱為多態性。
多態性允許每個對象以適合自身的方式去響應共同的消息。
多態性增強了軟體的靈活性和重用性。
三、面向對象的要素
(1)抽象。
抽象是指強調實體的本質、內在的屬性。在系統開發中,抽象指的是在決定如何實現對象之前的對象的意義和行為。使用抽象可以盡可能避免過早考慮一些細節。
類實現了對象的數據(即狀態)和行為的抽象。
(2)封裝性(信息隱藏)。
封裝性是保證軟體部件具有優良的模塊性的基礎。
面向對象的類是封裝良好的模塊,類定義將其說明(用戶可見的外部介面)與實現(用戶不可見的內部實現)顯式地分開,其內部實現按其具體定義的作用域提供保護。
對象是封裝的最基本單位。封裝防止了程序相互依賴性而帶來的變動影響。面向對象的封裝比傳統語言的封裝更為清晰、更為有力。
(3)共享性
面向對象技術在不同級別上促進了共享
同一類中的共享。同一類中的對象有著相同數據結構。這些對象之間是結構、行為特徵的共享關系。
在同一應用中共享。在同一應用的類層次結構中,存在繼承關系的各相似子類中,存在數據結構和行為的繼承,使各相似子類共享共同的結構和行為。使用繼承來實現代碼的共享,這也是面向對象的主要優點之一。
在不同應用中共享。面向對象不僅允許在同一應用中共享信息,而且為未來目標的可重用設計准備了條件。通過類庫這種機制和結構來實現不同應用中的信息共享。
4.強調對象結構而不是程序結構
四、面向對象的開發方法
目前,面向對象開發方法的研究已日趨成熟,國際上已有不少面向對象產品出現。面向對象開發方法有Coad方法、Booch方法和OMT方法等。
1.Booch方法
Booch最先描述了面向對象的軟體開發方法的基礎問題,指出面向對象開發是一種根本不同於傳統的功能分解的設計方法。面向對象的軟體分解更接近人對客觀事務的理解,而功能分解只通過問題空間的轉換來獲得。
2.Coad方法
Coad方法是1989年Coad和Yourdon提出的面向對象開發方法。該方法的主要優點是通過多年來大系統開發的經驗與面向對象概念的有機結合,在對象、結構、屬性和操作的認定方面,提出了一套系統的原則。該方法完成了從需求角度進一步進行類和類層次結構的認定。盡管Coad方法沒有引入類和類層次結構的術語,但事實上已經在分類結構、屬性、操作、消息關聯等概念中體現了類和類層次結構的特徵。
3.OMT方法
OMT方法是1991年由James Rumbaugh等5人提出來的,其經典著作為「面向對象的建模與設計」。
該方法是一種新興的面向對象的開發方法,開發工作的基礎是對真實世界的對象建模,然後圍繞這些對象使用分析模型來進行獨立於語言的設計,面向對象的建模和設計促進了對需求的理解,有利於開發得更清晰、更容易維護的軟體系統。該方法為大多數應用領域的軟體開發提供了一種實際的、高效的保證,努力尋求一種問題求解的實際方法。
4.UML(Unified Modeling Language)語言
軟體工程領域在1995年~1997年取得了前所未有的進展,其成果超過軟體工程領域過去15年的成就總和,其中最重要的成果之一就是統一建模語言(UML)的出現。UML將是面向對象技術領域內佔主導地位的標准建模語言。
UML不僅統一了Booch方法、OMT方法、OOSE方法的表示方法,而且對其作了進一步的發展,最終統一為大眾接受的標准建模語言。UML是一種定義良好、易於表達、功能強大且普遍適用的建模語言。它融入了軟體工程領域的新思想、新方法和新技術。它的作用域不限於支持面向對象的分析與設計,還支持從需求分析開始的軟體開發全過程。
五、面向對象的模型
·對象模型
對象模型表示了靜態的、結構化的系統數據性質,描述了系統的靜態結構,它是從客觀世界實體的對象關系角度來描述,表現了對象的相互關系。該模型主要關心系統中對象的結構、屬性和操作,它是分析階段三個模型的核心,是其他兩個模型的框架。
1.對象和類
(1) 對象。
對象建模的目的就是描述對象。
(2) 類。
通過將對象抽象成類,我們可以使問題抽象化,抽象增強了模型的歸納能力。
(3) 屬性。
屬性指的是類中對象所具有的性質(數據值)。
(4) 操作和方法。
操作是類中對象所使用的一種功能或變換。類中的各對象可以共享操作,每個操作都有一個目標對象作為其隱含參數。
方法是類的操作的實現步驟。
2.關聯和鏈
關聯是建立類之間關系的一種手段,而鏈則是建立對象之間關系的一種手段。
(1) 關聯和鏈的含義。
鏈表示對象間的物理與概念聯結,關聯表示類之間的一種關系,鏈是關聯的實例,關聯是鏈的抽象。
(2) 角色。
角色說明類在關聯中的作用,它位於關聯的端點。
(3) 受限關聯。
受限關聯由兩個類及一個限定片語成,限定詞是一種特定的屬性,用來有效的減少關聯的重數,限定詞在關聯的終端對象集中說明。
限定提高了語義的精確性,增強了查詢能力,在現實世界中,常常出現限定詞。
(4) 關聯的多重性。
關聯的多重性是指類中有多少個對象與關聯的類的一個對象相關。重數常描述為「一」或「多」。
圖10-8表示了各種關聯的重數。小實心圓表示「多個」,從零到多。小空心圓表示零或一。沒有符號表示的是一對一關聯。
3.類的層次結構
(1) 聚集關系。
聚集是一種「整體-部分」關系。在這種關系中,有整體類和部分類之分。聚集最重要的性質是傳遞性,也具有逆對稱性。
聚集可以有不同層次,可以把不同分類聚集起來得到一顆簡單的聚集樹,聚集樹是一種簡單表示,比畫很多線來將部分類聯系起來簡單得多,對象模型應該容易地反映各級層次,圖10-10表示一個關於微機的多極聚集。
(2)一般化關系。
一般化關系是在保留對象差異的同時共享對象相似性的一種高度抽象方式。它是「一般---具體」的關系。一般化類稱為你類,具體類又能稱為子類,各子類繼承了交類的性質,而各子類的一些共同性質和操作又歸納到你類中。因此,一般化關系和繼承是同時存在的。一般化關系的符號表示是在類關聯的連線上加一個小三角形,如圖10-11
4.對象模型
(1)模板。模板是類、關聯、一般化結構的邏輯組成。
(2)對象模型。
對象模型是由一個或若干個模板組成。模板將模型分為若干個便於管理的子塊,在整個對象模型和類及關聯的構造塊之間,模板提供了一種集成的中間單元,模板中的類名及關聯名是唯一的。
·動態模型
動態模型是與時間和變化有關的系統性質。該模型描述了系統的控制結構,它表示了瞬間的、行為化的系統控制
性質,它關心的是系統的控制,操作的執行順序,它表示從對象的事件和狀態的角度出發,表現了對象的相互行為。
該模型描述的系統屬性是觸發事件、事件序列、狀態、事件與狀態的組織。使用狀態圖作為描述工具。它涉及到事件、狀態、操作等重要概念。
1.事件
事件是指定時刻發生的某件事。
2.狀態
狀態是對象屬性值的抽象。對象的屬性值按照影響對象顯著行為的性質將其歸並到一個狀態中去。狀態指明了對象
對輸入事件的響應。
3.狀態圖
狀態圖是一個標準的計算機概念,他是有限自動機的圖形表示,這里把狀態圖作為建立動態模型的圖形工具。
狀態圖反映了狀態與事件的關系。當接收一事件時,下一狀態就取決於當前狀態和所接收的該事件,由該事件引起的狀態變化稱為轉換。
狀態圖是一種圖,用結點表示狀態,結點用圓圈表示;圓圈內有狀態名,用箭頭連線表示狀態的轉換,上面標記事件名,箭頭方向表示轉換的方向。
·功能模型
功能模型描述了系統的所有計算。功能模型指出發生了什麼,動態模型確定什麼時候發生,而對象模型確定發生的客體。功能模型表明一個計算如何從輸入值得到輸出值,它不考慮計算的次序。功能模型由多張數據流圖組成。數據流圖用來表示從源對象到目標對象的數據值的流向,它不包含控制信息,控制信息在動態模型中表示,同時數據流圖也不表示對象中值的組織,值的組織在對象模型中表示。圖10-15給出了一個窗口系統的圖標顯示的數據流圖。
數據流圖中包含有處理、數據流、動作對象和數據存儲對象。
1.處理
數據流圖中的處理用來改變數據值。最低層處理是純粹的函數,一張完整的數據流圖是一個高層處理。
2.數據流
數據流圖中的數據流將對象的輸出與處理、處理與對象的輸入、處理與處理聯系起來。在一個計算機中,用數據流來表示一中間數據值,數據流不能改變數據值。
3.動作對象
動作對象是一種主動對象,它通過生成或者使用數據值來驅動數據流圖。
4.數據存儲對象
數據流圖中的數據存儲是被動對象,它用來存儲數據。它與動作對象不一樣,數據存儲本身不產生任何操作,它只響應存儲和訪問的要求。
六、面向對象的分析
面向對象分析的目的是對客觀世界的系統進行建模。本節以上面介紹的模型概念為基礎,結合「銀行網路系統」的具體實例來構造客觀世界問題的准確、嚴密的分析模型。
分析模型有三種用途:用來明確問題需求;為用戶和開發人員提供明確需求;為用戶和開發人員提供一個協商的基礎,作為後繼的設計和實現的框架。
(一) 面向對象的分析
系統分析的第一步是:陳述需求。分析者必須同用戶一塊工作來提煉需求,因為這樣才表示了用戶的真實意圖,其中涉及對需求的分析及查找丟失的信息。下面以「銀行網路系統」為例,用面向對象方法進行開發。
銀行網路系統問題陳述: 設計支持銀行網路的軟體,銀行網路包括人工出納站和分行共享的自動出納機。每個分理處用分理處計算機來保存各自的帳戶,處理各自的事務;各自分理處的出納站與分理處計算機通信,出納站錄入帳戶和事務數據;自動出納機與分行計算機通信,分行計算機與撥款分理處結帳,自動出納機與用戶介面接受現金卡,與分行計算機通信完成事務,發放現金,列印收據;系統需要記錄保管和安全措施;系統必須正確處理同一帳戶的並發訪問;每個分處理為自己的計算機准備軟體,銀行網路費用根據顧客和現金卡的數目分攤給各分理處。
圖10-18給出銀行網路系統的示意圖。
(二)建立對象模型
首先標識和關聯,因為它們影響了整體結構和解決問題的方法,其次是增加屬性,進一步描述類和關聯的基本網路,使用繼承合並和組織類,最後操作增加到類中去作為構造動態模型和功能模型的副產品。
1.確定類
構造對象模型的第一步是標出來自問題域的相關的對象類,對象包括物理實體和概念。所有類在應用中都必須有意義,在問題陳述中,並非所有類都是明顯給出的。有些是隱含在問題域或一般知識中的。
按圖10-19所示的過程確定類
查找問題陳述中的所有名詞,產生如下的暫定類。
軟體 銀行網路 出納員 自動出納機 分行
分處理 分處理計算機 帳戶 事務 出納站
事務數據 分行計算機 現金卡 用戶 現金
收據 系統 顧客 費用 帳戶數據
訪問 安全措施 記錄保管
根據下列標准,去掉不必要的類和不正確的類。
(1) 冗餘類:若兩個類表述了同一個信息 ,保留最富有描述能力的類。如"用戶"和"顧客"就是重復的描述,因為"顧客"最富有描述性,因此保留它。
(2) 不相乾的類:除掉與問題沒有關系或根本無關的類。例如,攤派費用超出了銀行網路的范圍。
(3) 模糊類:類必須是確定的,有些暫定類邊界定義模糊或范圍太廣,如"記錄保管"就模糊類,它是"事務"中的一部分。
(4) 屬性:某些名詞描述的是其他對象的屬性,則從暫定類中刪除。如果某一性質的獨立性很重要,就應該把他歸屬到類,而不把它作為屬性。
(5) 操作:如果問題陳述中的名詞有動作含義,則描述的操作就不是類。但是具有自身性質而且需要獨立存在的操作應該描述成類。如我們只構造電話模型,"撥號"就是動態模型的一部分而不是類,但在電話撥號系統中,"撥號"是一個重要的類,它日期、時間、受話地點等屬性。
在銀行網路系統中,模糊類是"系統"、"安全措施"、"記錄保管"、"銀行網路"等。屬於屬性的有:"帳戶數據"、"收據"、"現金"、"事務數據"。屬於實現的如:"訪問"、"軟體"等。這些均應除去。
2.准備數據字典
為所有建模實體准備一個數據字典。准確描述各個類的精確含義,描述當前問題中的類的范圍,包括對類的成員、用法方面的假設或限制。
3.確定關聯
兩個或多個類之間的相互依賴就是關聯。一種依賴表示一種關聯,可用各種方式來實現關聯,但在分析模型中應刪除實現的考慮,以便設計時更為靈活。關聯常用描述性動詞或動詞片語來表示,其中有物理位置的表示、傳導的動作、通信、所有者關系、條件的滿足等。從問題陳述中抽取所有可能的關聯表述,把它們記下來,但不要過早去細化這些表述。
下面是銀行網路系統中所有可能的關聯,大多數是直接抽取問題中的動詞片語而得到的。在陳述中,有些動詞片語表述的關聯是不明顯的。最後,還有一些關聯與客觀世界或人的假設有關,必須同用戶一起核實這種關聯,因為這種關聯在問題陳述中找不到。
銀行網路問題陳述中的關聯:
·銀行網路包括出納站和自動出納機;
·分行共享自動出納機;
·分理處提供分理處計算機;
·分理處計算機保存帳戶;
·分理處計算機處理帳戶支付事務;
·分理處擁有出納站;
·出納站與分理處計算機通信;
·出納員為帳戶錄入事務;
·自動出納機接受現金卡;
·自動出納機與用戶介面;
·自動出納機發放現金;
·自動出納機列印收據;
·系統處理並發訪問;
·分理處提供軟體;
·費用分攤給分理處。
隱含的動詞片語:
·分行由分理處組成;
·分理處擁有帳戶;
·分行擁有分行計算機;
·系統提供記錄保管;
·系統提供安全;
·顧客有現金卡。
基於問題域知識的關聯:
·分理處僱傭出納員;
·現金卡訪問帳戶。
使用下列標准去掉不必要和不正確的關聯:
(1) 若某個類已被刪除,那麼與它有關的關聯也必須刪除或者用其它類來重新表述。在例中,我們刪除了"銀行網路",相關的關聯也要刪除。
(2) 不相乾的關聯或實現階段的關聯:刪除所有問題域之外的關聯或涉及實現結構中的關聯。如"系統處理並發訪問"就是一種實現的概念。
(3) 動作:關聯應該描述應用域的結構性質而不是瞬時事件,因此應刪除"自動出納機接受現金卡","自動出納機與用戶介面"等。
(4) 派生關聯:省略那些可以用其他關聯來定義的關聯。因為這種關聯是冗餘的。銀行網路系統的初步對象圖如圖10-20所示。其中含有關聯。
『陸』 java web 按鈕事件
target這個屬性指定所鏈接的頁面在瀏覽器窗口中的打開方式,
它的參數值主要有:_blank、_parent、_self、_top,這些參數值代表的含義如下:
◎_blank,在新瀏覽器窗口中打開鏈接文件。
◎_parent,將鏈接的文件載入含有該鏈接框架的父框架集或父窗口中。如果含有該鏈接的框架不是嵌套的,則在瀏覽器全屏窗口中載入鏈接的文件,就象_self參數一樣。
◎_self,在同一框架或窗口中打開所鏈接的文檔。此參數為默認值,通常不用指定。
◎_top,在當前的整個瀏覽器窗口中打開所鏈接的文檔,因而會刪除所有框架
◎acc ,顯示在框架ACC中.
如果將target統一命名,比如可以是任意的名字,比如說 target="new_window",這樣,所有的這種target只會在同一個新窗口中打開。就好像被分了組一樣。
『柒』 c#編程:web程序事件處理
private int 上次輸入的年齡 = 0;
private void button1_Click(object sender, EventArgs e) {
//姓名檢查
if (輸入框_姓名.Text == string.Empty) { MessageBox.Show("姓名不能為空"); return; }
StringBuilder sb = new StringBuilder();
sb.AppendLine(string.Format("姓名:{0}", 輸入框_姓名.Text));
sb.AppendLine(string.Format("年齡:{0}", 輸入框_年齡.Text));
sb.Append("愛好:");
if (復選框_愛好1.Checked) { sb.Append("繪畫, "); }
if (復選框_愛好2.Checked) { sb.Append("唱歌, "); }
if (復選框_愛好3.Checked) { sb.Append("跳舞, "); }
sb.AppendLine();
靜態文本框.Text = sb.ToString();
}
private void 輸入框_年齡_TextChanged(object sender, EventArgs e) {
//首先定義一個 int 儲存輸入的數字
int d;
//使用 TryParse 函數判斷 輸入框.Text 能否轉換為數字
bool 是數字 = int.TryParse(輸入框_年齡.Text, out d);
if (是數字) {
if (d > 18) {
MessageBox.Show("年齡不能大於18歲");
輸入框_年齡.Text = 上次輸入的年齡.ToString();
}
else {
上次輸入的年齡 = d;
}
}
else {
輸入框_年齡.Text = 上次輸入的年齡.ToString();
}
}
控制項是3個TextBox(靜態文本框、輸入框_姓名、輸入框_年齡)
以及3個CheckBox(復選框_愛好1、復選框_愛好2、復選框_愛好3)。
提交按鈕(button1)
直接拷貝代碼需要進行事件綁定。
在Form1_Load事件中加入兩行:綁定事件處理程序和事件。
button1.Click += button1_Click;
輸入框_年齡.TextChanged += 輸入框_年齡_TextChanged;
『捌』 web增加按鈕事件怎麼寫
VS軟體裡面不是有個屬性窗口,雙擊那個click不就可以在後台寫了嗎?
『玖』 web伺服器開發中的事件模型是啥
ASP.NET 中有一個重要功能,允許您通過與客戶端應用程序中類似的、基於事件的模型來對網頁進行編程。舉一個簡單的例子,例如,可以向 ASP.NET 網頁中添加一個按鈕,然後為該按鈕的 Click 事件編寫事件處理程序。盡管這種情況在僅使用客戶端腳本(在動態 HTML 中處理按鈕的 onclick 事件)的網頁中很常見,但 ASP.NET 將此模型引入到了基於伺服器的處理中。
與傳統 HTML 頁或基於客戶端的 Web 應用程序中的事件相比,由 ASP.NET 伺服器控制項引發的事件的工作方式稍有不同。導致差異的主要原因在於事件本身與處理該事件的位置的分離。在基於客戶端的應用程序中,在客戶端引發和處理事 件。但是,在 ASP.NET 網頁中,與伺服器控制項關聯的事件在客戶端(瀏覽器)上引發,但由 ASP.NET 頁在 Web 伺服器上處理。
對 於在客戶端引發的事件,ASP.NET Web 控制項事件模型要求在客戶端捕獲事件信息,並通過 HTTP POST 將事件消息傳輸到伺服器。頁必須解釋該 POST 以確定所發生的事件,然後在要處理該事件的伺服器上調用代碼中的相應方法。
ASP.NET 處理捕獲、傳輸和解釋事件等任務。當您在 ASP.NET 網頁中創建事件處理程序時,通常無需考慮捕獲事件信息並使其可用於您的代碼的方式。創建事件處理程序的方式與您在傳統的客戶端窗體上的創建方式大體相同。 盡管如此,ASP.NET 網頁中的事件處理仍有一些您應該注意的地方。
『拾』 web頁面,給控制項添加滑鼠懸浮事件,顯示一個div,
肯定得用ajax非同步獲取了 jquery做起來比較簡單 我用的是ul li span來顯示的數據
$(document).ready(function(){
$(".orderClass").click(function(){
var orderId=$(this).text();
$.ajax({
type:"post",
url:"ShowOrderDetails.aspx?orderId="+orderId,//轉向一個後台處理頁面
success:function(msg){ //ajax成功時候的處理
var objs=msg.split(";");
$(".divClass:eq("+index+")").html("<ul><li class='aa'><span>商品名稱</span><span>購買數量</span><span>商品單價</span><span>所屬商鋪</span></li></ul>").hide();
for(var i=0;i<objs.length-1;i++)
{
var objArray=objs[i].split(",");
var name=objArray[0];
var number=objArray[1];
var price=objArray[2];
var shopName=objArray[3];
var pid=objArray[4];
$(".divClass").hide();
$(".divClass:eq("+index+")").append("<li class='aa'><span><a style='color:blue;cursor:hand;' href='../ShowTgInfo.aspx?pid="+pid+"'>"+name+"</a></span><span>"+
number+"</span><span>"+price+"</span><span>"+shopName+"</span></li>").show(500);
}
},
error:function(msg)
{
}
});
});
ShowOrderDetails.aspx.cs 處理JS的後台代碼
Tb_TgOrderDetailsBLL orderDetails = new Tb_TgOrderDetailsBLL();
Tb_TgShopBLL shop = new Tb_TgShopBLL();
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["orderId"] == null)
{
Response.Write("");
Response.End();
}
string orderId = Request.QueryString["orderId"];
StringBuilder builder = new StringBuilder("");
foreach (DataRow row in orderDetails.GetDetailsByOderId(orderId).Rows)
{
string proctName = row["p_name"].ToString(); //商品名稱
string number = row["details_number"].ToString(); //購買數量
string price = row["p_price"].ToString(); //團購價格
string shopId = row["p_shop_id"].ToString();
string pid=row["p_id"].ToString();
string shopName = shop.GetShopById(shopId)["shop_name"].ToString(); //所屬商鋪
builder.AppendFormat("{0},{1},{2},{3},{4};", proctName, number, price, shopName, pid);
}
Response.Write(builder.ToString());
Response.End();