內容1:
1.大多數情況下,會有兩個關於Model的文件。
一個稱他為Entity Model,他里面的字段一般是與數據庫直接交互的,也就是說,Entity里面每一個字段賦予的屬性都是對應着數據庫來的。
還有一個稱之為View Model,這個呢,他是間接與數據庫交互的,比如:我們數據庫有個字段是某人的出生年月,但是我的View里面想顯示的是某人的年齡,因此,我的View Model里面必須要建立一個年齡字段並賦予其屬性,而具體由數據庫里面的出生日期轉換成年齡的函數在其他位置出現。
過程:
1.首先,Entity是必須的,此外需要創建一個View Model,並編好對應的字段。
2.字段轉換
重寫一下:
3.View實現可視化
重寫后的view:
擴展:TagHelpers的使用
即在View中引入asp-:
內容2:View Model的輸入 Post:
1.創建Creat方法並賦予其屬性:
在View中,對用的方法對應着具體的Get和Post:
2.如下:model調用Post
3.以上可完成數據輸入的工作,但存在兩個Bug。
1)是否可以確保輸入的數據可以保存下來。
2)刷新后出現重復存儲。
解決方案1:在配置文件里修改注入。
解決方案2:
如圖粉紅框框,刷新后跳轉至Detail,未重定項,重復輸入。
重定項:Post-Redirect-Get
1)設置重定項位置:
2)重定項實現:
內容3:Data Annotaions(數據注解)
1.如下圖所示,代碼中Data Annotaions的用法:
常用:
舉例:
Post使用時必加項:
關於驗證的使用舉例:
View顯示: