溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2021-06-29 10:54:00 來(lái)源:億速云 閱讀:149 作者:chen 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“用ASP.NET MVC+EF框架+EasyUI實(shí)現(xiàn)權(quán)限管理”,在日常操作中,相信很多人在用ASP.NET MVC+EF框架+EasyUI實(shí)現(xiàn)權(quán)限管理問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”用ASP.NET MVC+EF框架+EasyUI實(shí)現(xiàn)權(quán)限管理”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

  前言:本文開(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ì)了,然后搭建框架,搭建的框架如圖所示:

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

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

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

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

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

到此,關(guān)于“用ASP.NET MVC+EF框架+EasyUI實(shí)現(xiàn)權(quán)限管理”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI