国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

沒有什么,開發(fā)ASP.NET時(shí)隨便寫寫,想到什么寫什么

2019-11-17 01:36:44
字體:
供稿:網(wǎng)友

沒有什么,開發(fā)asp.net時(shí)隨便寫寫,想到什么寫什么

沒有什么,開發(fā)ASP.NET時(shí)隨便寫寫,想到什么寫什么,這次想寫點(diǎn)開發(fā)過程中,比如在數(shù)據(jù)庫(kù),某一張表中有一個(gè)字段,如下:

上面代碼示例中高亮字段,數(shù)據(jù)類型為BIT,它存儲(chǔ)的值將為"True"或"False"。

在前端aspx網(wǎng)頁(yè)上,我們用一個(gè)形式來呈現(xiàn)友好的控件。一般來說,存儲(chǔ)boolean值,一般使用CheckBox控件,選中得到為True,反之得到為False,這個(gè)是較理想的。但是現(xiàn)這里是要呈現(xiàn)性別,男或女。那就不能使用CheckBox控件了。最接近此要求,也許是RadioButtonList控件了。我們?cè)诔绦蛑校O(shè)定幾個(gè)數(shù)據(jù)集,作為RadioButtonList 的數(shù)據(jù)源:

上面的Key使用int數(shù)據(jù)類型。

上面的key使用布爾數(shù)據(jù)類型。

上面的key使用string數(shù)據(jù)類型。其實(shí)還可以定義其它,這不是重要,但要理解其含義,為什么這樣要這樣定義,目的是什么。下面我們實(shí)現(xiàn)aspx的功能,也許有些網(wǎng)友會(huì)直接如下寫法:

這樣死寫法根本無需準(zhǔn)備什么數(shù)據(jù)源。Insus.NET在想,這樣做也沒有什么問題。因?yàn)樗@樣確實(shí)可以的。看開發(fā)者開發(fā)時(shí)的想法與思維了。不過按照Insus.NET的習(xí)慣,數(shù)據(jù)呈現(xiàn)與程序封裝,還是在cs程序中對(duì)RadioButtonList進(jìn)行數(shù)據(jù)源綁定。如果后臺(tái)綁定數(shù)據(jù)源,在aspx網(wǎng)頁(yè)只會(huì)拉一個(gè)RadioButtonList控件即可。看.aspx.cs的

上面代碼是完全沒有問題,或許你就是這樣寫的。但是Insus.NET并不會(huì)這樣做,不想把任何在需要在Page_Load()事件運(yùn)行的代碼放在Page_Load()方法內(nèi)。理想的實(shí)現(xiàn),是另寫一個(gè)私有方法:在網(wǎng)頁(yè)瀏覽時(shí),看到的效果:OK,上面只是一些曾通的RadioButtonList的數(shù)據(jù)源綁定。假如在數(shù)據(jù)源綁定時(shí),還要根據(jù)數(shù)據(jù),男或女把RadioButtonList的選擇選中狀態(tài)。

但是,偏偏在你寫程序時(shí),你會(huì)遇上是根據(jù)值去設(shè)置,它是以0或是1來判斷,那我們?cè)鯓觼韺?shí)現(xiàn)了呢? 這樣情況之下,需要修改一下程序:

上面瀏覽網(wǎng)頁(yè)時(shí),看到的效果,如下:

寫到這里,我們會(huì)想起,真正開發(fā)時(shí),我們是不知什么情況之下是傳入Text,什么情況之下傳入的是Value。嗯,我們就應(yīng)該考慮到這些情形。下面Insus.NET的解決方法:

寫兩個(gè)私有方法,并重載。是Byvalue和ByText的。這樣在引用它們時(shí),只是傳入是值或是文本即可。此時(shí)能把這個(gè)功能實(shí)現(xiàn)這樣,也許覺得很完美。但是某一情況之下,如你是使用DropDownList去呈現(xiàn)一些數(shù)據(jù)。上面的方法似乎有相似之處,但是完全不能拿來使用。只完另外再寫兩個(gè)方法:

對(duì)吧。我們會(huì)不禁住地問,是否有一個(gè)萬全之策? 解決這個(gè)問題,我們應(yīng)該想到,不管是RadioButtonList還是DropDownList控件,均是繼承ListControl類,如果想到這點(diǎn),我們就可以把這四個(gè)私有方法,寫成兩個(gè)通用的:呵呵,此時(shí)不管你是傳入DropDownList還是RadioButtonList均沒有問題,是吧。

平時(shí),Insus.NET開發(fā)時(shí),連參數(shù)也不想傳入過多。是否可以做到? 如:

void SetSelectedByDataValueField(string byValue)

在較高一些C#版本,是可以解決此問題的。使用擴(kuò)展方法:

那在引用時(shí),就可以只傳入一個(gè)參數(shù):

上面一系列的動(dòng)作,是解決RadioButtonList設(shè)置Selected的狀態(tài)。在面向?qū)ο笠约叭龑娱_發(fā)過程中,Insus.NET基本上沒有在程序中寫SQL語句來存與取同數(shù)據(jù)庫(kù)進(jìn)行溝通。我們會(huì)在程序編寫一個(gè)類,如:

上面的類別,只寫一個(gè)PRoperty。因此這篇博文中,重點(diǎn)是說它。用戶在前臺(tái)數(shù)據(jù)呈現(xiàn)中,作出選擇,需要把選擇的結(jié)果存回至數(shù)據(jù)表中,看一下語法

由于我們寫property時(shí),定義的數(shù)據(jù)類型為布爾(bool)。上面寫的

objMember.Sex = this.RadioButtonListSex.SelectedItem.Value;

一個(gè)是得到string,一個(gè)需要bool。因此需要處理一下數(shù)據(jù)類型,才能糾正錯(cuò)誤:上面代碼示例中,是把選擇的值轉(zhuǎn)換為布爾值。由于開發(fā)一開始時(shí),就為RadioButtonList控件設(shè)置了兩個(gè)值,0與1。因此我們可以對(duì)上面的代碼稍改一下:拿掉高亮的代碼,由于我們?cè)赟witch之前,已經(jīng)定義好一個(gè)私有變量:

bool sex = true;

這樣不管用戶選擇了男還是女,程序在跑Switch時(shí),只有case是0時(shí),才會(huì)去轉(zhuǎn)換類型,對(duì)吧。既然是這樣,我們又可以把這數(shù)據(jù)類型轉(zhuǎn)換的寫成:呵呵,隨便寫寫,望網(wǎng)友能看得懂。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿巴嘎旗| 宜宾市| 锦屏县| 梁山县| 汶川县| 依安县| 兴文县| 汉中市| 都江堰市| 眉山市| 白朗县| 阳曲县| 兰考县| 香格里拉县| 遂平县| 龙州县| 新津县| 新邵县| 开平市| 鹤岗市| 江油市| 拜泉县| 当涂县| 平罗县| 泗洪县| 泰州市| 霍山县| 吉安市| 江都市| 宿迁市| 澎湖县| 新营市| 石泉县| 宜昌市| 黄梅县| 东乡| 海城市| 高要市| 禹城市| 开化县| 奉化市|