日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC网站学习问题积累(一)

發(fā)布時間:2024/6/21 asp.net 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC网站学习问题积累(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近工作壓力比較大,不得已開始自學(xué)C#。同時網(wǎng)站開發(fā)業(yè)務(wù)開展迫在眉睫,只能先從ASP.NET學(xué)起。回想一下,連C#和ASP.NET的關(guān)系都沒有明白,就被趕鴨子上架了。。。我覺得這將是我工作以來最具有戲劇性的一筆!!

話不多說,網(wǎng)上搜了一下洞庭夕照的“學(xué)用MVC4做網(wǎng)站”,感覺最后從我現(xiàn)在的水平看實在是驚為天人之作,于是便開始一邊看一邊做了起來,無奈這位兄臺技術(shù)在我之上不知多高,很多東西直接省略不講,看得我實在費力,又找不到更好的教程,只能一邊看一邊百度。

這一筆真的濃厚。。。

一、中括號

Model 類里[Key]這個東西,類似于JAVA里的反射,ASP.NET:類中使用中括號([...])的作用。該標(biāo)記不起任何實際作用,僅是告訴vs該語句下面的方法(Method)是ObjectDataSource的默認(rèn)綁定方法,標(biāo)記的作用是為了讓編譯器更好的為 ObjectDatasource 向?qū)д业胶线m的方法。但是要加上using System.ComponentModel.DataAnnotations;這條引用。

二、/// <summary>

C#中在注釋函數(shù)的時候連用3個斜杠,即“///”編譯器會自動生成函數(shù)相關(guān)的注釋段,但是需要具體的編譯器代碼提示,那還需要添加相應(yīng)的內(nèi)容。

先寫好函數(shù)或方法,然后在函數(shù)或方法的上一行輸入“///”后,系統(tǒng)會自動出來<summayr>.....</summary>以及參數(shù)等,在補全說明即可

三、datetime? 和 datetime 有什么區(qū)別

CSharp中,有兩種類型的變量。

基本類型和引用類型

基本類型變量在定義一個變量的時候,不允許將該變量設(shè)置為null。但是在有的時候,我們又希望該基本類型擁有可以為null的能力。所以我們在該基本類型后面 加? 就可以將該基本類型變成應(yīng)用類型。如 int => int? long => long? 等

此時 int? 定義的變量,就是應(yīng)用類型了,可以為null,而不再是一個基本的類型。所有的基本類型轉(zhuǎn)換成的引用類型,都有value這個屬性,該屬性是該應(yīng)用的值。所有 datetime = datetime?.value

四、[HttpPost]?

System.Web.Mvc.dll中對它的注解是:表示一個特性,該特性用于限制操作方法,以便該方法僅處理 HTTP POST 請求。
具體來講,就是在對于Mvc Controller中的方法,如果你希望該方法只能通過前臺表單的Post方式來訪問并且傳輸數(shù)據(jù)的話,通過添加[HttpPost]注解即可實現(xiàn),這樣,該方法就不會通過Get方法進行請求,限制了該操作方法的請求類型。

五、Repository模式

這個模式很深奧,在這里只能先列舉一下簡單的釋義,隨后再深入學(xué)習(xí)。

ASP.NET:EF安裝 程序創(chuàng)建及開發(fā)模式

Repository模式

六、DbSet<TEntity>類和DbContext類

dbContext里面的dbset<TEntity>屬性的多少 能對系統(tǒng)造成性能影響嗎?

一語驚醒夢中人。看代碼總是有dbset<TEntity>,但一直不知道是什么解釋,今天搜到這個問題,原來是一個屬性,或者是給定類型的所有實體的集合或可從數(shù)據(jù)庫中查詢的給定類型的所有實體的集合。?可以使用 DbContext.Set 方法從 DbContext 中創(chuàng)建 DbSet 對象。不過兩個使用的區(qū)別是什么?

MVC中使用Entity Framework 基于方法的查詢學(xué)習(xí)筆記 (二)

?

七、數(shù)據(jù)上下文

數(shù)據(jù)上下文,就是當(dāng)前對象(主要是UI元素)與之綁定的數(shù)據(jù)對象。所有對該控件的數(shù)據(jù)綁定({Binding})如果不額外聲明Source,則默認(rèn)的Source就是DataContext指向的數(shù)據(jù)對象。可以理解為??DataSource

或者

數(shù)據(jù)上下文就是不止它自身可以訪問,其子元素皆可訪問。
比如有這么一個數(shù)據(jù)類型:
public?class?Person
{
????public?int?ID{get;set;}
????public?string?Name{get;set;}
????public?int?Age{get;set;}
????public?string?Address{get;set;}
}
將該類型的一個實例設(shè)置為某UserControl的DataContext;
this.DataContext?=?new?Person();
那么在xaml中,binding時就是使用的這個上下文
<UserControl?...>
??<StackPanel>
??????<TextBlock?Text={Binding?ID}/>
??????<TextBlock?Text={Binding?Name}/>
??????<TextBlock?Text={Binding?Age}/>
??????<TextBlock?Text={Binding?Address}/>
??</StackPanel>
</UserControl>
你只是將Person對象賦給了UserControl的DataContext,但是其內(nèi)部的TextBlock依然可以訪問得到這個對象的屬性。

八、virtula與override

在基類(父類)中用virtual修飾符聲明一個虛方法,然后在在派生類(子類)中用override修飾符覆蓋基類虛方法。表明是對基類的虛方法重載。這種優(yōu)勢在于它可以在程序運行時再決定調(diào)用哪一個方法,這就是所謂的“運行時多態(tài)”或者稱動態(tài)綁定。

九、~

這是什么?!C#里的各種符號也是醉了。。。

析構(gòu)函數(shù)(destructor)?與構(gòu)造函數(shù)相反,當(dāng)對象脫離其作用域時(例如對象所在的函數(shù)已調(diào)用完畢),系統(tǒng)自動執(zhí)行析構(gòu)函數(shù)。析構(gòu)函數(shù)往往用來做“清理善后”?的工作(例如在建立對象時用new開辟了一片內(nèi)存空間,應(yīng)在退出前在析構(gòu)函數(shù)中用delete釋放)。析構(gòu)函數(shù)名也應(yīng)與類名相同,只是在函數(shù)名前面加一個波浪符~,例如~stud(?),以區(qū)別于構(gòu)造函數(shù)。它不能帶任何參數(shù),也沒有返回值(包括void類型)。只能有一個析構(gòu)函數(shù),不能重載。如果用戶沒有編寫析構(gòu)函數(shù),編譯系統(tǒng)會自動生成一個缺省的析構(gòu)函數(shù),它也不進行任何操作。所以許多簡單的類中沒有用顯式的析構(gòu)函數(shù)。

十、?seal

1、當(dāng)對一個類應(yīng)用 sealed 修飾符時,此修飾符會阻止其他類從該類繼承。 在下面的示例中,類 B 從類 A 繼承,但是任何類都不能從類 B 繼承。

? ? class A {}

? ? sealed class B : A {}

2、還可以在重寫基類中的虛方法或虛屬性的方法或?qū)傩陨鲜褂?sealed 修飾符。 這將使您能夠允許類從您的類繼承,并防止它們重寫特定的虛方法或虛屬性

在下面的示例中,Z?從 Y 繼承,但 Z 無法重寫在 X 中聲明并在 Y 中密封的虛函數(shù) F。

class X ??? { ??????? protectedvirtualvoid F() { Console.WriteLine("X.F"); } ??????? protectedvirtualvoid F2() { Console.WriteLine("X.F2"); } ??? } ??? class Y : X ??? { ??????? sealedprotectedoverridevoid F() { Console.WriteLine("Y.F"); } ??????? protectedoverridevoid F2() { Console.WriteLine("X.F3"); } ??? } ??? class Z : Y ??? { ??????? // Attempting to override F causes compiler error CS0239. ??????? // protected override void F() { Console.WriteLine("C.F"); } ??????? // Overriding F2 is allowed. ??????? protectedoverridevoid F2() { Console.WriteLine("Z.F2"); } ??? }
十一、=>
又一個符號,明白了就覺得好用,不明白的看著這么個玩意真的很蛋疼!

Lambda表達式詳解

十二、委托+=

感覺C#后面加了#就是個坑啊,語言名字就帶上符號了,里面指不定還有多少符號。。。

c#委托

先mark一下,眼睛疼,睡覺去。

轉(zhuǎn)載于:https://www.cnblogs.com/djcomcn01/p/5818549.html

總結(jié)

以上是生活随笔為你收集整理的ASP.NET MVC网站学习问题积累(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。