国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MVC應(yīng)用程序開(kāi)發(fā)課程教學(xué)中存在問(wèn)題淺析

2021-01-27 11:58李志剛武漢軟件工程職業(yè)學(xué)院
消費(fèi)導(dǎo)刊 2020年41期
關(guān)鍵詞:主鍵程序開(kāi)發(fā)控件

李志剛 武漢軟件工程職業(yè)學(xué)院

高職院校在學(xué)完ASP.NET程序開(kāi)發(fā)后會(huì)學(xué)習(xí)ASP.NET MVC程序開(kāi)發(fā),在學(xué)習(xí)MVC程序開(kāi)發(fā)會(huì)的會(huì)有如下問(wèn)題。

第一:學(xué)生不理解MVC的框架,認(rèn)為分成三個(gè)框架太麻煩了,還習(xí)慣用以前學(xué)過(guò)的.NET知識(shí)來(lái)套用現(xiàn)在的知識(shí),結(jié)果發(fā)現(xiàn)行不通。

第二:學(xué)生在學(xué)習(xí)LinqToSQL會(huì)很不習(xí)慣,發(fā)現(xiàn)它和以前學(xué)的SQL語(yǔ)句語(yǔ)法有較大的區(qū)別。對(duì)于LinqToSQL,學(xué)生不習(xí)慣語(yǔ)句從from開(kāi)始寫(xiě),會(huì)不自覺(jué)的用以前學(xué)過(guò)的sql方式來(lái)寫(xiě)。

第三:學(xué)生在學(xué)習(xí)控件器分不清控件器的作用,對(duì)于插入和增加為什么要使用兩個(gè)控制器方法不理解。

第四:學(xué)生在寫(xiě)視圖代碼非常不習(xí)慣,因?yàn)橐郧岸际峭峡丶?,現(xiàn)在需要手寫(xiě)代碼,再加上之前的網(wǎng)頁(yè)設(shè)計(jì)并沒(méi)有學(xué)好。

第五:學(xué)生在學(xué)習(xí)驗(yàn)證控件的時(shí)候習(xí)慣性的想起.NET中的拖控件導(dǎo)致出現(xiàn)問(wèn)題,對(duì)于用戶自定義驗(yàn)證的代碼無(wú)法理解。

第六:在用MVC進(jìn)行項(xiàng)目設(shè)計(jì)的時(shí)候,學(xué)生會(huì)存在整體思路不清晰的問(wèn)題,對(duì)于在插入數(shù)據(jù)的時(shí)候主鍵重復(fù)如何處理,在編輯的時(shí)候如何不修改視圖,在查詢的時(shí)候如何進(jìn)行模糊查詢和精確查詢。

針對(duì)以上問(wèn)題,有如下解決方案:

第一:在開(kāi)始MVC教學(xué)之前,一定要跟學(xué)生強(qiáng)調(diào),MVC的開(kāi)發(fā)模式和你們之前學(xué)過(guò)的桌頁(yè)程序開(kāi)發(fā)和ASP.NET區(qū)別都很大,它是三層架構(gòu),每層架構(gòu)各司其職。M是數(shù)據(jù)層,對(duì)數(shù)據(jù)的操作包括增加刪除修改都放在這一層,V是視圖層,就是頁(yè)面最后的呈現(xiàn)在這一層,C是控制層,哪一個(gè)數(shù)據(jù)和哪一個(gè)視圖進(jìn)行關(guān)聯(lián)由控制層來(lái)實(shí)現(xiàn)。

第二:LinqToSQL有兩種寫(xiě)法,一種是基于表達(dá)式的查詢,一種是函數(shù)式查詢。一般要求學(xué)生掌握函數(shù)的查詢,對(duì)表達(dá)式的查詢只需要看懂不需要會(huì)寫(xiě)。查詢分為投影查詢,條件查詢,排序查詢,分頁(yè)查詢,聚合查詢和連接查詢。其中聚合查詢只能用函數(shù)式查詢。學(xué)生對(duì)連接查詢問(wèn)題較大,在復(fù)雜的連接查詢的時(shí)候需要把當(dāng)前的查詢結(jié)果保存起來(lái)然后再重命名方便后面調(diào)用。模糊查詢也和以前學(xué)的.NET完全不一樣,不能用like和%,而應(yīng)該用containts來(lái)實(shí)現(xiàn)。如果有學(xué)生實(shí)在不會(huì)寫(xiě)LinqToSQL,可以先自動(dòng)生成相應(yīng)的LinqToSQL,然后在自動(dòng)生成的代碼上頁(yè)修改。

第三:不管是插入和修改都應(yīng)該包括兩個(gè)功能:一個(gè)是用戶剛進(jìn)入到這個(gè)頁(yè)面看到的數(shù)據(jù)呈現(xiàn)功能,另一個(gè)是插入或修改的功能,對(duì)于前者來(lái)說(shuō)需要用到HTPPGET方法,也就是取數(shù)據(jù)方法,對(duì)于后者需要用到HTTPPOST方法,也就是數(shù)據(jù)傳遞方法。

第四:在學(xué)習(xí)視圖之前需要先給學(xué)生復(fù)習(xí)網(wǎng)頁(yè)設(shè)計(jì)的基本知識(shí),包括HTML,CSS等基礎(chǔ)知識(shí)。對(duì)于輸入類(lèi)的輔助方法中的DropDownLis的方法要注意要指定來(lái)自哪張表、表的顯示字段和表存的字段。ActionLink輔助方法適合于跳到相應(yīng)的控件器中,需要指定連接的名稱(chēng)、相應(yīng)控件器的名稱(chēng)和相應(yīng)action名稱(chēng),如果目標(biāo)控件器和源控件器在一個(gè)控制器中,可以省略控制器的名稱(chēng),如果需要進(jìn)行頁(yè)面?zhèn)髦?,這需要加上類(lèi)似new{id=1}的代碼。在編輯頁(yè)面會(huì)存在一個(gè)問(wèn)題:自動(dòng)生成的編輯視圖會(huì)自動(dòng)把主鍵隱藏,用戶進(jìn)行修改的時(shí)候不知道修改的是哪一條數(shù)據(jù),如果在視圖中把主鍵給顯示出來(lái),主鍵有文框框和標(biāo)簽兩種形式,如果主鍵是文本框表示,可以對(duì)主鍵進(jìn)行修改,也會(huì)報(bào)錯(cuò);如果主鍵是標(biāo)簽,又會(huì)因?yàn)橹麈I不能修改導(dǎo)致相應(yīng)的LinqToSQL的代碼是錯(cuò)誤的。對(duì)于這個(gè)問(wèn)題,可以首先把主鍵進(jìn)行隱藏,然后再把主鍵在視圖中顯示一次,但控件用的是標(biāo)簽控件,這樣我們?cè)谛薷臄?shù)據(jù)的時(shí)候調(diào)用的是隱藏的主鍵文本框,而我們又能看到標(biāo)簽控件的主鍵,這樣既可以看到主鍵又可以修改數(shù)據(jù),很好的解決了存在的問(wèn)題。如果學(xué)生實(shí)在不會(huì)寫(xiě)視圖,可以先自動(dòng)生成視圖,然后在生成的視圖中去添加或刪除一些內(nèi)容。

第五:常用的驗(yàn)證屬性包括Required屬性、StringLength屬性、Regular Expression屬性、Range屬性、DataType屬性、Compare屬性。在教學(xué)過(guò)程中可以進(jìn)行類(lèi)比教學(xué),Required屬性相當(dāng)于.NET中的非空驗(yàn)證,Compare屬性相當(dāng)于.NET中的比較驗(yàn)證,Range屬性相當(dāng)于范圍驗(yàn)證,RegularExpression屬性相當(dāng)于.NET中的正則表達(dá)式驗(yàn)證。而StringLength屬性主要是用于限制輸入長(zhǎng)符的長(zhǎng)度的,比如要求密碼在6-16位,用戶名不少于6位;DataType屬性也可以對(duì)正則表達(dá)式進(jìn)行驗(yàn)證。

第六:在進(jìn)行MVC項(xiàng)目設(shè)計(jì)時(shí),一定要首先把數(shù)據(jù)庫(kù)設(shè)計(jì)好。比如教務(wù)管理系統(tǒng),包括學(xué)生管理,教師管理,成績(jī)管理等。對(duì)于學(xué)生管理來(lái)說(shuō),學(xué)生表中的學(xué)院,專(zhuān)業(yè),班級(jí)都可以為查詢條件,所以除了學(xué)生表外,還需要建立學(xué)院表、專(zhuān)業(yè)表和班級(jí)表,在學(xué)生表中的學(xué)院、專(zhuān)業(yè)和班級(jí)都應(yīng)該用代碼。在對(duì)學(xué)生表進(jìn)行增加操作時(shí),要注意要考慮主鍵是否重復(fù),所以首先要根據(jù)學(xué)號(hào)進(jìn)行查詢,如果學(xué)號(hào)沒(méi)有重復(fù)再做插入操作。當(dāng)修改數(shù)據(jù)時(shí),一定要注意哪些字段可以修改,哪些不能修改,對(duì)于學(xué)院,專(zhuān)業(yè)和班級(jí)這些字段不應(yīng)該用文本框,防止輸入不合理的數(shù)據(jù),應(yīng)該用下拉框,下拉框的值通過(guò)數(shù)據(jù)庫(kù)中取。當(dāng)通過(guò)學(xué)號(hào),姓名,學(xué)院進(jìn)行查詢時(shí),學(xué)號(hào)和姓名都是模糊查詢,而學(xué)院是用下拉框,下拉框應(yīng)該包括全部和具體的學(xué)院,當(dāng)用戶選擇全部時(shí),查詢所有學(xué)院的信息,當(dāng)用戶選擇具體某個(gè)學(xué)院時(shí),查詢?cè)搶W(xué)院的信息,所以根據(jù)學(xué)院選擇的內(nèi)容不同,需要有不同的linqtosql語(yǔ)句。

猜你喜歡
主鍵程序開(kāi)發(fā)控件
基于Go 實(shí)現(xiàn)的分布式主鍵系統(tǒng)研究
基于外鍵的E-R圖繪制方法研究
APP應(yīng)用程序開(kāi)發(fā)模式探究
關(guān)于.net控件數(shù)組的探討
基于TestStand的自動(dòng)檢測(cè)程序開(kāi)發(fā)
基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開(kāi)發(fā)
基于App inventor 2手機(jī)程序開(kāi)發(fā)過(guò)程的學(xué)習(xí)與實(shí)——以“喵喵定時(shí)器”APP開(kāi)發(fā)為例
ASP.NET服務(wù)器端驗(yàn)證控件的使用
數(shù)據(jù)庫(kù)主鍵設(shè)置探討
基于嵌入式MINIGUI控件子類(lèi)化技術(shù)的深入研究與應(yīng)用