您好,登錄后才能下訂單哦!
這篇文章主要介紹“用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ì)了,然后搭建框架,搭建的框架如圖所示:
(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ě)了。
到此,關(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í)用的文章!
免責(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)容。