十天學(xué)會(huì)ASP.net之第四天
學(xué)習(xí)目的:掌握WEB控件的使用(二)
首先我要說(shuō)明,我這十天教程也只是一個(gè)讓大家對(duì)ASP.NET有一個(gè)認(rèn)識(shí)而已,我也跳過(guò)了很多東西。網(wǎng)上有很多人在責(zé)罵我寫(xiě)的教程,認(rèn)為十天什么都學(xué)不會(huì),看了我的教程還是什么都不會(huì),我想他們或許是過(guò)高估計(jì)了我的教程。外面有很多書(shū),關(guān)于ASP和ASP.NET的,我就是看外面的書(shū)學(xué)會(huì)的。我所要做的就是希望大家能看了我的教程以后覺(jué)得ASP和ASP.NET不是學(xué)不會(huì)的東西然后有信心去學(xué)會(huì)它。我想學(xué)習(xí)還是靠自己的,外面每一本書(shū)也有自己寫(xiě)的不周到的地方,關(guān)鍵還需要自己的實(shí)踐加上探索。
首先來(lái)說(shuō)一下表單的驗(yàn)證控件,以前我們做表單驗(yàn)證,如果是客戶端的JAVASCRIPT,不能做到美觀統(tǒng)一,而且還可以通過(guò)直接在瀏覽器起教表單來(lái)屏蔽;如果我們做服務(wù)器端驗(yàn)證,又會(huì)發(fā)現(xiàn)讓檢驗(yàn)結(jié)果在前臺(tái)反映也是很麻煩的事情?,F(xiàn)在好了,ASP.NET提供的很多檢驗(yàn)控件讓我們不需要考慮是客戶端檢驗(yàn)還是服務(wù)器端檢驗(yàn),讓我們不需要考慮是怎么輸出檢驗(yàn)結(jié)果。
看一下檢驗(yàn)表單控件是不是填寫(xiě)了的檢驗(yàn)控件先:
<asp:textbox id="username" runat="server" cssclass="textbox"/>
<asp:requiredfieldvalidator controltovalidate="username" display="dynamic" forecolor="#ff0000" font-name="宋體" font-size="9pt" text="請(qǐng)?zhí)顚?xiě)" runat="server"/>
controltovalidate就是你想檢驗(yàn)的控件的ID;默認(rèn)情況下不顯示錯(cuò)誤消息,地方也會(huì)被保留,如果使用了display="dynamic" 那么不顯示錯(cuò)誤消息的地方不會(huì)被空出; forecolor="#ff0000" font-name="宋體" font-size="9pt" 就是設(shè)定錯(cuò)誤消息字體的顏色,字體,大小的;text="請(qǐng)?zhí)顚?xiě)" 就是當(dāng)沒(méi)有填寫(xiě)內(nèi)容時(shí)候顯示的錯(cuò)誤消息;別忘記最后的runat="server"?,F(xiàn)在這個(gè)檢驗(yàn)控件是放在了textbox的后面,那么錯(cuò)誤消息也在textbox后面顯示,也可以放在其他地方。
再看一下比較表單控件的數(shù)據(jù)與另外一個(gè)數(shù)據(jù)的檢驗(yàn)控件:
<asp:textbox id="password1" runat="server" textmode="password" cssclass="textbox"/>
<asp:requiredfieldvalidator controltovalidate="password1" display="dynamic" forecolor="#ff0000" font-name="宋體" font-size="9pt" text="請(qǐng)?zhí)顚?xiě)" runat="server"/>
這里是第一個(gè)需要用戶填寫(xiě)的密碼框
我們經(jīng)常會(huì)再設(shè)立一個(gè)密碼框讓用戶再填寫(xiě)一次:
<asp:textbox id="password2" runat="server" textmode="password" cssclass="textbox"/>
<asp:requiredfieldvalidator controltovalidate="password2" display="dynamic" forecolor="#ff0000" font-name="宋體" font-size="9pt" text="請(qǐng)?zhí)顚?xiě)" runat="server"/>
<asp:comparevalidator controltovalidate="password2" controltocompare="password1" display="dynamic" operator="equal" forecolor="#ff0000" font-name="宋體" font-size="9pt" text="確認(rèn)失敗" runat="server"/>
controltocompare="password1" 就是需要比較的控件;operator="equal" 就是設(shè)定比較操作是:是否相等(還有NotEqual:不相等,LessThan:少于,GreaterThan:大于,當(dāng)不符合這個(gè)比較操作的時(shí)候顯示錯(cuò)誤消息)。
以前說(shuō)到BUTTON控件CausesValidation=true/false來(lái)設(shè)置按鈕提交的表單是不是被檢驗(yàn)也就是這里的幾個(gè)檢驗(yàn)控件,如果CausesValidation=true的話按下按鈕就會(huì)首先檢測(cè)是不是都通過(guò)了檢驗(yàn)控件的檢驗(yàn)。
下面再說(shuō)兩點(diǎn):
一、每一個(gè)可以顯示的控件都有是不是顯示的屬性,比如username.Visible=false;就是隱藏了前面的username控件;還有就是如果要對(duì)控件應(yīng)用CSS的話就這么寫(xiě):cssclass="",而不是以前HTML中的class=""。
二、所有WEB控件都要包含在<form runat="server"></form>中,否則就會(huì)出錯(cuò)。
今天就到此結(jié)束,請(qǐng)繼續(xù)往后面看,下次開(kāi)始就要說(shuō)ADO.NET了。
關(guān)鍵詞:ASP.net
閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!
- 0
- 0
- 0
- 0
- 0
- 0