Netacademia“我的第一個網絡C#項目:待辦事項應用程序”課程補充代碼之旅
Facebook上的dotnet Group:dotnet鯊魚
+------------------------+
| Desktop számítógép |
| |
| +-------------+ |
+---------------+ | | Alkalmazás | |
| | | | | |
| Felhasználó | | +-------------+ |
| | | |
| | | |
+---------------+ | |
+------------------------+
Hagyományos Desktop/Mobil alkalmazásfejlesztés
+--------------------------+
| Szerver számítógép |
+------------------------+ | |
| Desktop számítógép | | |
| Mobil eszköz | Hálózati | |
| | kapcsolat | +----------------------+ |
+---------------+ | | | | | |
| | | +-------------+ +---------------> | | Szerver alkalmazás | |
| Felhasználó | | | Alkalmazás | | | | (WebSzerveren futó | |
| | | | (Böngésző) | | <---------------+ | app) | |
| | | +-------------+ | | | | |
+---------------+ | | ^ | +----------------------+ |
+------------------------+ | | |
| | ^ |
^ | | | |
| | | | |
| | | | |
| | +--------------------------+
| | |
+ + +
HTML HTTP MVC
Webes Alkalmazásfejlesztés
由於環境和開發工作流程對於這些類型的開發很複雜,因此它不是手動創建的,而是在Visula Studio模板的幫助下。
使用嚮導,我們創建ASP.NET MVC Web應用程序(.NET框架),如下:
創建一個新項目: 
MVC應用程序選擇
如果我們在應用程序目錄中創建一個HTML文件,則默認情況下是我們的ASP.NET應用程序。也就是說,如果瀏覽器要求此文件,服務器將其發送回他:
此請求(從瀏覽器到服務器):
GET http://localhost:39399/SajatHtmlOldal.html
(瀏覽器中的服務器)返回HTML頁面(網站):
<!DOCTYPE html >
< html >
< head >
< meta charset =" utf-8 " />
< title > Ez a saját html oldalunk címe </ title >
</ head >
< body >
Ez pedig a saját html oldalunk tartalma, ezt fogja a böngésző megmutatni.
</ body >
</ html >通過從瀏覽器打開文件:它以相同的方式工作:
file:///D:/Repos/WebesTodoApp201806/TodoApp/TodoApp/SajatHtmlOldal.html
它仍然以相同的方式顯示它。
HTTP的任務是描述請求和答案的格式,如果您想通過網絡查詢內容。
HTTP請求由四個部分組成
我們對前兩個感興趣。
方法:例如獲取,發布,放置,刪除等。有關Wikipedia的詳細信息
同樣重要的是,HTTP協議不處理條件,因此請求是完全獨立的。
如果您不想連續顯示靜態卡,但是:
這是一項不錯的任務,ASP.NET MVC就是為此。
+-----------------+
| |
| Bevásárlólista |
| |
+-----------------+
| |
| Só |
| |
| Cukor |
| |
| Spagetti |
| |
| Marhahús |
| |
| Paradicsom |
| |
+-----------------+
在顯示的情況下

問題:請求如何到達控制器?答:根據請求的標題。
例如:
GET http://localhost:39399/Home/About
這裡的標題上半年指向應用程序:
http://localhost:39399
標題的後半部分和該方法在應用程序中意味著某些內容:
GET /Home/About
處理此操作是路由的責任。在標題中,“/”是分離的標誌,即,可以將整個標題分解為有意義的部分,該部分可以通過應用程序處理。
根據ASP.NET MVC公約 - 該標題的第一部分是撥給控制器的(示例:Home)。控制器:控制器 - 第二部分是為請求服務的操作。動作:功能
這可以用來將每個請求組織到函數中,並將功能分解為控制單元。
重要的是,遵循前兩個單元(控制器/操作)的其餘標題將以某種形式包含請求的參數。
ASP.NET MVC框架在名稱約定上非常高度構建:每個元素的名稱在應用程序的操作中起決定性作用。
有兩個重要的路由規則: - 如果未指定操作,那就是索引。 - 如果未指定控制器,則為家/索引
基於觀點:
通常,控制器的視圖位於我們的Web應用程序的 Views文件夾中,每個控件分組,分組文件夾的名稱與控制器路由名稱相同。
例如:HomeController視圖位於視圖 Home文件夾中。
和:每個視圖文件的名稱與它們所屬的名稱控制器操作相同。
注意:可以打破此約定:您還可以為操作選擇特定的視圖。
也就是說,homecontroller.todolist()動作的視圖自動屬於: views home todolist.chtml
您可以使用本教程編寫HTML代碼。
該視圖可以定義可行的數據模型的類型。
crud: c reate, r ead, u pdate, d elet
短屏草圖作為規範:
+------------------------------------------------+
| |
| +------------------+---------+--------+ |
| | elem 1 | módosít | töröl | |
| +-------------------------------------+ |
| | elem 2 | módosít | töröl | |
| +-------------------------------------+ |
| | elem 3 | módosít | töröl | <-----------------------------+--+ Műveletek kezdeményezésére
| +------------------+---------+--------+ | | szolgáló elemek, amivel
| | | | | a felhasználó kezdeményezni
| +-------------------------------------+ | | tudja az adott műveletet
| | | | | (link, gomb, stb.)
| +-------------------------------------+ | |
| | | | |
| +-------------------------------------+ | |
| | | | |
| +-------------------------------------+ | |
| | |
| | |
| | |
| +-----------------+ +----------+ | v
| | beviteli mező | | rögzítés | <---------------------------------+
| +-----------------+ +----------+ |
| |
| |
+------------------------------------------------+
索引是對控制器概述視圖的請求,並以此為命名。也就是說,必須採取我們最初的概述視圖,即索引操作。因此,我們重命名了當前的。
<form></form>您需要一個具有名稱( <input name="valami megnevezés"/> )的<input /> - 需要一個按鈕(或<input type="submit" />或<button></button> )call parameters in Call parameTers in http://localhost:39399/Todo/Create?Tennival%C3%B3=agaadfgafgadf 
Folyamat:
1. /Todo/Create paraméter nélkül feladja a Create nézetet
2. /Todo/Create paraméterrel rögzíti az adatot és átirányít az Index-re
Sajnos az adatok mindig inicializálódnak, azt még meg kell oldani.
De a legnagyobb elvi baj ezzel, hogy az adatok felküldése GET metódust használ, ami (mivel adatmódosítás történik) nem szabványos.
Helyette POST kell.
要在索引頁面上提供一個輸入頁面(鏈接:http:// localhost:39399/todo/create)相對地址的概念可以
請求之間保留的測試數據
帶有發布數據的編程數據輸入是作為表單參數出現的:

Amit a Model Binder segítségével ugyanúgy függvény paraméterként tudunk átvenni az Action definícióban:
GET: URL paraméter Model binding:név alapján egyeztet
+----------------------------------------------+ (Query string) +-----+
| Böngésző | ^ +---------------> | |
+----------------------------------------------+ | | | Alkalmazás
| | | | | +--------------+
| | | | | | |
| +------------------+ | | | | | |
| | Adat1=érték1 | | +-------> | | Adatok | |
| | | | | | +-----> | |
| +------------------+ | | | | |
| | Adat2=érték2 | | +-------> | | | |
| | | | | | | | |
| +------------------+ | | | | | |
| | | | | | |
| | | | | +--------------+
| | | | |
| | | POST: Form data | |
| | v-------------------------> | |
| | | |
| | | |
| | +-----+
| |
| |
| |
| |
| |
| |
| |
| |
+----------------------------------------------+
在服務數據/視圖時,應以某種方式分開說明。那是,
索引輸入字段定理和編程輸入
Microsoft SQL Server已安裝了巧克力,這些軟件包已安裝:
cinst sql-server-express
cinst sql-server-management-studio
對於巧克力安裝,必須從管理員命令行運行此命令:
@"%SystemRoot%System32WindowsPowerShellv1.0powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%chocolateybin"
創建一個數據庫:
檢查單身錯誤選項
var item = db . TodoItems . FirstOrDefault ( x => x . Name . Contains ( "a" ) ) ;
if ( item == null )
{ // ha nincs ilyen elem
}
else
{ // ha megvan
} var item = db . TodoItems . SingleOrDefault ( x => x . Id == id ) ;
if ( item == null )
{ // ha nincs ilyen elem
}
else
{ // ha megvan
}找到差異
<input id="isDone" name="isDone" type="checkbox" value="true" >後者產生了以下方式:
<input name="isDone" id="isDone" type="checkbox" value="true">
<input name="isDone" type="hidden" value="false">
它可以通過複選框起作用,只有formdata被勾選。如果沒有,瀏覽器根本不會將其發送。在這種情況下,(如果沒有刻度),隱藏的字段來自瀏覽器,這是false價值,就像複選框沒有被打勾一樣。如果刻度在那裡,兩個值都會出現,一個true和false ,並且模型迎合者根據其順序選擇第一個值true
+--------------------------------+ +---------------------------------+ +----------------------------------+
| | | | | |
| | | EntityFramework | | |
| Alkalmazás | | Code First | | Adatbázis |
| | | | | |
| | | | | +---------------+ |
| | | 1. A kód alapján kitalálja | | | TodoItems | |
| | | hogy hogy lenne jó | | | | |
| Adatok osztályba | | +-> adatbázisba írni az +-> | +------> | | TodoItem | |
| szervezve | | | adatokat | | | TodoItem | |
| (TodoItem) | | | | | | TodoItem | |
| | | | | | | ... | |
| +---> | +> | +-> | | | | |
| + | | | | | | |
| Adatelérési osztály | | | <-----------------+ | |
| (DbContext) | | 2. Ha pedig adatot akarok | | | | ^ | |
| DbSet<TodoItem> | | lekérdezni, akkor a Linq | v | | | | |
| TodoItems <-----------------+ felületen keresztül | <+ | +---------------+ |
| | | fogadja a kérést és | | ^ |
| | | SQL lekérdezéssé alakítja| | + |
| db.TodoItems.Single() +----------------> a visszakapott adatokat | +-------------> SELECT |
| | | pedig betölti a TodoItems| | Id, Name, Done |
| | | DbSet-be | | WHERE |
| | | | | Id == @id |
| | | | | |
+--------------------------------+ +---------------------------------+ +----------------------------------+
HTML和CSS製造手免費課程
使用樣式HTML描述舌頭使您可以輸入所有HTML成員的style參數。在此中,您可以輸入著色,格式化和位置的設置。在W3Schools頁面上的更多信息值得一看。
為CSS使用統一樣式:樣式與HTML代碼分開,HTML為內容,CSS是形狀的定義。您可以詳細查看此網站。
可以通過召集開發人員工具(F12)在瀏覽器中測試CSS設置。
Twitter的圖形藝術家及其程序員之一的Web包,能夠顯示特定網站(自動適應不同尺寸)。該軟件包可在此處可用,其源代碼位於GitHub上。
引導程序的基礎之一是網格系統。
另一個原則是通過提供class參數來創建不同的顯示元素,而無需任何其他CSS和JavaScript知識。每個組件的列表。
生成HTML頁面的步驟:
@ {
Layout = null ;
}<head></head>部分中,並且JavaScript在<body></body>部分的末端使用。 @Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
在HTML框架中,您錯過了兩個地方:
@RenderBody()行指示視圖由操作確定的部分。<body></body>的末尾,將其排除在外 @RenderSection ( "scripts" , required : false )到最後,JavasCrips將從您自己的捆綁包中加載:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
因此,請求請求:操作選擇視圖,選擇佈局,基於視圖生成HTML代碼的內容部分,基於佈局代碼生成HTML頁面,並且視圖生成的視圖擴展到整個頁面。