最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET MVC+EF框架+EasyUI實(shí)現(xiàn)權(quán)限管系列

 更新時(shí)間:2014年11月17日 17:38:56   投稿:hebedich  
在學(xué)習(xí)MVC之前,我們有必要知道這些知識(shí)點(diǎn)(自動(dòng)屬性,隱式類型var,對(duì)象初始化器和集合初始化器,匿名類,擴(kuò)展方法,Lambda表達(dá)式),如果你還不知道的話就請(qǐng)看我下面的簡(jiǎn)單的介紹,看下面我建立的項(xiàng)目的初步圖像,然后下篇我們開(kāi)始簡(jiǎn)單的介紹。

  前言:本文開(kāi)始我們便一步一步的來(lái)實(shí)現(xiàn)這個(gè)權(quán)限系統(tǒng)的初步設(shè)計(jì)-框架搭建,首先我要說(shuō)的是我們需要開(kāi)發(fā)工具Visual Studio 2012或者10也行,其次是我們要有SQL Server數(shù)據(jù)庫(kù),如果是Visual Studio 2010的話,你還要安裝MVC4的開(kāi)發(fā)文件,這個(gè)是嗎?我不記得了,誰(shuí)可以回答我一下的,我一直用2012,都是集成好的,所以不太清楚。因?yàn)檫@篇博客比較簡(jiǎn)單,只是建立一個(gè)簡(jiǎn)單的架構(gòu),所以我順便進(jìn)行一下MVC的知識(shí)補(bǔ)充,后面我也會(huì)這樣穿插著介紹項(xiàng)目中遇到的技術(shù),下面開(kāi)始今天之旅。

1.自動(dòng)屬性

 (1)自動(dòng)屬性(Auto-Implemented Properties),C#自動(dòng)屬性可以避免原來(lái)我們手工的來(lái)聲明一個(gè)私有成員變量以及和屬性get,set的書(shū)寫(xiě)。

復(fù)制代碼 代碼如下:

       public class Kencery  //聲明一個(gè)Kencery的類
       {
              public int ID{get;set;}  //主鍵ID
              public string Name{get;private set;}  //只讀屬性名字
              public int Age{get;set;}   //年齡
       }

2.隱式類型var

 (1)現(xiàn)在越來(lái)越多的項(xiàng)目中你可以看到var,這是什么意思呢?其實(shí)這就是C#3.0新特性提供的隱士類型var,var關(guān)鍵字指示編譯器根據(jù)初始化語(yǔ)句右側(cè)的表達(dá)式推斷變量的類型。

復(fù)制代碼 代碼如下:

       var Kencery=”大家晚上好”;   //定義變量
       var list=new List<int>();    //定義一個(gè)List集合
       var Kencery=new{ID=1,Name=”HYL”,age=24}  //對(duì)象初始化起定義的類型
       var geners = from n in StoreContract.ProductCatalogs
                         where n.IsSystem == false
                         select n;
            return View(geners);

    //Linq的使用,這個(gè)在后面我們會(huì)大量的使用,大家沒(méi)學(xué)過(guò)的可以自學(xué)。

 (2) var有這么大的功能,那么他有什么缺點(diǎn)呢,我們這里列舉大致一下

       1)只有在同一個(gè)語(yǔ)句中聲明和初始化局部變量時(shí),才能使用var,不能將該變量初始化為null,方法組或者匿名方法。

       2)不能將var用于類范圍的域。

       3)由var聲明的變量不能用在初始化表達(dá)式中,換句話說(shuō),此表達(dá)式是合法的:int i=(i=20);,但是后面的這個(gè)表達(dá)式會(huì)產(chǎn)生編譯錯(cuò)誤:var i=(i=20)。

       4)不能在同一個(gè)語(yǔ)句中初始化多個(gè)隱式類型的變量。

       5)如果范圍中有一個(gè)名為var的類型,則var關(guān)鍵字將解析為該類型名稱,而不做為隱式類型局部變量聲明的一部分去處理。

3.匿名類

 (1)將一組只讀屬性封裝到單個(gè)對(duì)象中,而無(wú)需首先顯示定義一個(gè)類型,類型名由編譯器生成,并且不能在源代碼級(jí)使用,每個(gè)屬性的類型由編譯器推斷。[var]

 (2)用來(lái)初始化屬性的表達(dá)式不能是null,匿名函數(shù)和指針類型。

       var Kencery=new{ID=1,Name=”HYL”,Age=24}

4.對(duì)象初始化器和集合初始化器

 (1)對(duì)象初始化器是利用了編譯器對(duì)對(duì)象中對(duì)外可見(jiàn)的字段或者屬性進(jìn)行按序賦值,在編譯還是隱式調(diào)用了構(gòu)造函數(shù),對(duì)字段或?qū)傩缘馁x值可以是一個(gè)或者多個(gè)。

復(fù)制代碼 代碼如下:

       List<Kencery> kencery=new List<Kencery>{  //Kencery類
              new Kencery{ID=1,Name=”Hanyinglong”,Age=19},
       New Kencery{ID=2,Name=”HYL”},
       null
};
Person p=new Person{ ID=1,Name=”HYL”,Age=19 };

5.?dāng)U展方法

 (1)擴(kuò)展方法是一種特殊的靜態(tài)方法,它定義在一個(gè)靜態(tài)類中,但可以在其他類的對(duì)象上向調(diào)用實(shí)例方法那樣進(jìn)行調(diào)用。因此,通過(guò)擴(kuò)展方法,我們就可以在不修改一個(gè)類型的前提下對(duì)一個(gè)類型進(jìn)行功能上的擴(kuò)充,這種方法并不會(huì)產(chǎn)生新的類型,而是采用向已有類中加入新方法的方式來(lái)完成功能的擴(kuò)展。

 (2)在對(duì)已有類進(jìn)行擴(kuò)展時(shí),我們需要將所有的擴(kuò)展方法都寫(xiě)在一個(gè)靜態(tài)類中,這個(gè)靜態(tài)類就相當(dāng)于存放擴(kuò)展方法的容器,所有的擴(kuò)展方法都可以寫(xiě)在這里面。擴(kuò)展方法與普通方法的聲明方式不同,擴(kuò)展方法的第一個(gè)參數(shù)以this關(guān)鍵字開(kāi)始,后面跟被擴(kuò)展的類型,然后才是真正的參數(shù)列表。

復(fù)制代碼 代碼如下:

       public static 返回類型 擴(kuò)展方法名(this 要擴(kuò)展的類型 參數(shù)名稱[,擴(kuò)展方法參數(shù)列表])
       {
       }
       public static int ToInt32(this string s) //擴(kuò)展方法將字符串轉(zhuǎn)換為整形
       {
              return Int32.Parse(s);
       }

6.Lambda表達(dá)式

 (1) ”Lambda表達(dá)式”是一個(gè)匿名函數(shù),他可以包含表達(dá)式和語(yǔ)句,可用于創(chuàng)建委托。

 (2) 運(yùn)算符 =>,該運(yùn)算符讀作:”goes to”。

 (3) 格式:(input parameters)=>expression

       delegate bool DelDemo(int a,int b);  //定義委托

       DelDemo Lambda=(int a,int b)=>a>b  //使用Lambda表達(dá)式表示a是否大于b

       Console.WriteLine(Lambda(1,4));

7.項(xiàng)目整體框架流程圖

 (1)上面扯了這么多,其實(shí)跟我們今天的博客沒(méi)什么用,只是一些準(zhǔn)備工作,也是復(fù)習(xí)一下這些知識(shí)點(diǎn),下面我們將新建一個(gè)MVC4的程序,如何新建一個(gè)MVC4的程序,相信大家都已經(jīng)會(huì)了,然后搭建框架,搭建的框架如圖所示:

 (2) 然后我們?cè)貺YZJ.UserLimitMVC.Model層設(shè)計(jì)數(shù)據(jù)庫(kù),在里面建立一個(gè)空的Edmx模型,如圖所示:

(3) 上面我們建立了四個(gè)類庫(kù)和一個(gè)MVC4.0的項(xiàng)目,大家仔細(xì)看一下,如果大家對(duì)這四個(gè)類庫(kù)的作用不太明確的話,我建議大家可以去看看三層的架構(gòu),或者在下面給我留言,現(xiàn)在就不往出寫(xiě)了。

(4) 這篇博客到這里就結(jié)束了,下篇博客我們開(kāi)始講述:使用面對(duì)接口編程變成對(duì)數(shù)據(jù)庫(kù)訪問(wèn)層進(jìn)行介紹。

相關(guān)文章

  • asp.net驗(yàn)證碼的簡(jiǎn)單制作

    asp.net驗(yàn)證碼的簡(jiǎn)單制作

    當(dāng)用戶進(jìn)行注冊(cè)、登陸的時(shí)候都會(huì)遇到輸入驗(yàn)證碼的情況,那驗(yàn)證碼到底是怎么制作的,下面就為大家講解如何使用ASP.NET制作簡(jiǎn)單的驗(yàn)證碼,感興趣的朋友可以參考一下
    2015-09-09
  • .Net Core簡(jiǎn)單使用Mvc內(nèi)置的Ioc(續(xù))

    .Net Core簡(jiǎn)單使用Mvc內(nèi)置的Ioc(續(xù))

    怎樣直接獲取Ioc中的實(shí)例對(duì)象,而不是以構(gòu)造函數(shù)的方式進(jìn)行獲取呢?這篇文章繼續(xù)為大家介紹.Net Core簡(jiǎn)單使用Mvc內(nèi)置的Ioc
    2018-03-03
  • ASP.NET中AJAX的異步加載(Demo演示)

    ASP.NET中AJAX的異步加載(Demo演示)

    這篇文章主要介紹了ASP.NET中AJAX的異步加載(Demo演示),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • ASP.NET Core中的對(duì)象池化技術(shù)詳解

    ASP.NET Core中的對(duì)象池化技術(shù)詳解

    這篇文章主要為大家詳細(xì)介紹了ASP.NET Core中的對(duì)象池化技術(shù)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • asp.net實(shí)現(xiàn)多個(gè)文件同時(shí)下載功能

    asp.net實(shí)現(xiàn)多個(gè)文件同時(shí)下載功能

    這篇文章主要為大家詳細(xì)介紹了asp.net實(shí)現(xiàn)多個(gè)文件同時(shí)下載功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 詳解ASP.NET Core 之 Identity 入門(mén)(一)

    詳解ASP.NET Core 之 Identity 入門(mén)(一)

    本篇文章主要介紹了ASP.NET Core 之 Identity 入門(mén),主要負(fù)責(zé)對(duì)用戶的身份進(jìn)行認(rèn)證,有興趣的可以了解一下。
    2016-12-12
  • ASP.NET中Request.Form中文亂碼的解決方法

    ASP.NET中Request.Form中文亂碼的解決方法

    一直以為,只有 Request.QueryString 接收url查詢字符串含中文時(shí)可能會(huì)亂碼(做好編解碼工作,很容易可以避免),碰到的時(shí)候,才知道 Request.Form 接收表單的值中含中文也會(huì)亂碼,以前真是很傻很天真很無(wú)知。
    2011-03-03
  • DataList綁定到Row[]行集合的問(wèn)題的方法

    DataList綁定到Row[]行集合的問(wèn)題的方法

    DataList綁定到Row[]行集合的問(wèn)題的方法...
    2007-09-09
  • ASP.Net開(kāi)發(fā)常見(jiàn)的一些問(wèn)題總結(jié)

    ASP.Net開(kāi)發(fā)常見(jiàn)的一些問(wèn)題總結(jié)

    ASP.Net開(kāi)發(fā)常見(jiàn)的一些問(wèn)題總結(jié),需要的朋友可以參考一下
    2013-02-02
  • ASP.NET泛型二之泛型的使用方法

    ASP.NET泛型二之泛型的使用方法

    這篇文章介紹了ASP.NET泛型的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08

最新評(píng)論

天全县| 门源| 银川市| 塔城市| 彰武县| 科技| 图们市| 连南| 张家口市| 中江县| 筠连县| 铁岭市| 台江县| 岳池县| 墨脱县| 罗平县| 富裕县| 庆云县| 盐池县| 科技| 亚东县| 阿拉善盟| 万载县| 齐齐哈尔市| 安乡县| 武宣县| 广饶县| 华蓥市| 汉阴县| 景宁| 安塞县| 嘉峪关市| 昌图县| 蒙阴县| 双辽市| 陵川县| 石景山区| 乐亭县| 巧家县| 阿克| 蛟河市|