2016年7月15日 星期五
2016年7月12日 星期二
【ASP.NET】NuGet 封裝管理員 Migrations
啟用 Code First 移轉
【指令】
Enable-Migrations
Add-Migration init
Update-Database
參數-1:-Force 強制更新
參數-2:-Verbose
系統自動產生資料表:__MigrationHistory
【使用 Code First 移轉而不使用初始設定式】
說明:You get the script within Visual Studio. Notice that this will create a new table called __MigrationsHistory which is used by Entity Framework to keep track of migrations.
說明連結:http://martinnormark.com/entity-framework-migrations-cheat-sheet/
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
【在移轉中植入資料】
Msdn 官網說法:
DbMigrationsConfiguration.Seed 方法
[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]
在升級為最新的移轉之後執行,以便允許更新初始資料。
【相關參考網址如下】
https://azure.microsoft.com/zh-tw/documentation/articles/mobile-services-dotnet-backend-how-to-use-code-first-migrations/
http://martinnormark.com/entity-framework-migrations-cheat-sheet/
https://dotblogs.com.tw/kevinya/2013/10/31/126299
Msdn官網:https://msdn.microsoft.com/zh-tw/data/jj591621.aspx
【指令】
Enable-Migrations
Add-Migration init
Update-Database
參數-1:-Force 強制更新
參數-2:-Verbose
系統自動產生資料表:__MigrationHistory
【使用 Code First 移轉而不使用初始設定式】
說明:You get the script within Visual Studio. Notice that this will create a new table called __MigrationsHistory which is used by Entity Framework to keep track of migrations.
說明連結:http://martinnormark.com/entity-framework-migrations-cheat-sheet/
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
【在移轉中植入資料】
Msdn 官網說法:
DbMigrationsConfiguration
[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]
在升級為最新的移轉之後執行,以便允許更新初始資料。
【相關參考網址如下】
https://azure.microsoft.com/zh-tw/documentation/articles/mobile-services-dotnet-backend-how-to-use-code-first-migrations/
http://martinnormark.com/entity-framework-migrations-cheat-sheet/
https://dotblogs.com.tw/kevinya/2013/10/31/126299
Msdn官網:https://msdn.microsoft.com/zh-tw/data/jj591621.aspx
【ASP.MVC Identity 2.0】如何使用 ASP.MVC Identity 2.0
AspNetRoles【Table:角色】
Id
Name
RoleName 【備註】擴充欄位
Discriminator 【備註】擴充欄位-系統自動新增【值:IdentityRole】 中譯‧辨別者,屬於哪個類別使用
AspNetUsers 【Table:使用者】
LockoutEnabled 【備註】是否要驗證錯誤次數 <--- p="">LockoutEndDateUtc 【備註】鎖定日期時間內
AccessFailedCount 【備註】輸入錯誤次數
// 預設需要去「驗證」輸入錯誤計算
manager.UserLockoutEnabledByDefault = true;
//限定自動增加 下次驗證 時間 ,以分為計算
manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5);
//驗證最多錯誤次數
manager.MaxFailedAccessAttemptsBeforeLockout = 5;
當 LockoutEnabled = 1 時,且 DateTime.Now 小於 LockoutEndDateUtc ,
則 SignInStatus.LockedOut 狀態
因 --->LockoutEndDateUtc 是美國時間
若要轉換本地時間 設定如下
DateTimeOffset local_date = DateTime.SpecifyKind(user.LockoutEndDateUtc.Value, DateTimeKind.Utc);
ASP.NET 以 DateTimeOffset 為時間正規共用核心,再透過 區域設定(DateTimeKind.Utc) 轉換正規時間,之後就能 出輸成 local_date.LocalDateTime
<--- p="">
參考網址:
http://qiita.com/standtsukai/items/056e422bed8a57467778
http://www.tqcto.com/article/web/29166.html
http://tech.trailmax.info/2014/06/asp-net-identity-user-lockout/
--->
Id
Name
RoleName 【備註】擴充欄位
Discriminator 【備註】擴充欄位-系統自動新增【值:IdentityRole】 中譯‧辨別者,屬於哪個類別使用
AspNetUsers 【Table:使用者】
LockoutEnabled 【備註】是否要驗證錯誤次數 <--- p="">LockoutEndDateUtc 【備註】鎖定日期時間內
AccessFailedCount 【備註】輸入錯誤次數
// 預設需要去「驗證」輸入錯誤計算
manager.UserLockoutEnabledByDefault = true;
//限定自動增加 下次驗證 時間 ,以分為計算
manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5);
//驗證最多錯誤次數
manager.MaxFailedAccessAttemptsBeforeLockout = 5;
當 LockoutEnabled = 1 時,且 DateTime.Now 小於 LockoutEndDateUtc ,
則 SignInStatus.LockedOut 狀態
因 --->LockoutEndDateUtc 是美國時間
若要轉換本地時間 設定如下
DateTimeOffset local_date = DateTime.SpecifyKind(user.LockoutEndDateUtc.Value, DateTimeKind.Utc);
ASP.NET 以 DateTimeOffset 為時間正規共用核心,再透過 區域設定(DateTimeKind.Utc) 轉換正規時間,之後就能 出輸成 local_date.LocalDateTime
<--- p="">
參考網址:
http://qiita.com/standtsukai/items/056e422bed8a57467778
http://www.tqcto.com/article/web/29166.html
http://tech.trailmax.info/2014/06/asp-net-identity-user-lockout/
--->
2016年7月10日 星期日
【ASP.MVC】Partial View 說明
Partial View 說明
說明:類似 UserControl ASP.NET 使用者控制項 (.ascx 檔案)
Msdn Url:https://msdn.microsoft.com/zh-tw/library/system.web.mvc.html(v=vs.118).aspx
【以下有幾種方式達到 「Partial View」效果】
1.【Using System.Web.Mvc.Html.(Partial)Extensions 類別】
說明:部分檢視轉譯為 HTML 編碼字串的功能 (因轉換 Html 效能會慢點)
Msdn Url:https://msdn.microsoft.com/zh-tw/library/system.web.mvc.html.partialextensions(v=vs.118).aspx
程式範例:
Html.Partial("ViewName")
Html.Partial("ViewName","Model")
2.【Using System.Web.Mvc.Html.(RenderPartial)Extensions 類別】
說明:叫用指定的子系動作方法,並呈現內嵌於父檢視內的結果。
Msdn Url:https://msdn.microsoft.com/zh-tw/library/system.web.mvc.html.renderpartialextensions(v=vs.118).aspx
程式範例
Html.RenderPartial("_LoginPartial");
Html.RenderPartial("ViewName","Model")
PS.綜合以上1.2 說明,使用情境 Master Layout 將[資料]帶入給 Parent(Partial、RenderPartial) 使用
【Using System.Web.Mvc.Html.ChildActionExtensions 類別】
說明:代表支援[呼叫]子系動作[方法]並支援[呈現]內嵌於[父檢視]中的結果。
Msdn Url:https://msdn.microsoft.com/zh-tw/library/system.web.mvc.html.childactionextensions(v=vs.118).aspx
底下再分層 兩大類功能,可透過 Control 底下 Action 回傳 資料模組
1.(Action)
說明:部分檢視轉譯為 HTML 編碼字串的功能 (因轉換 Html 效能會慢點)
Msdn 說明:叫用指定的子系動作方法並以 HTML 字串形式傳回結果。
連結:https://msdn.microsoft.com/zh-tw/library/ee721266(v=vs.118).aspx
程式範例:
Html.Action("_LoginPartial");
Html.Action("_LoginPartial","ActionName");
2.(RenderAction)
說明:
Msdn Url:https://msdn.microsoft.com/zh-tw/library/ee703541(v=vs.118).aspx
程式範例:
Html.RenderAction("_LoginPartial");
Html.RenderAction("actionName","controllerName");
@{ Html.RenderAction("MenuAction", "BackLayout"); }
PS.綜合以上1.2 說明,Action 顧名思義 就是會透過後端Control 呼叫 Action 程式回傳(資料) For View 使用
圖示如下:
說明:類似 UserControl ASP.NET 使用者控制項 (.ascx 檔案)
Msdn Url:https://msdn.microsoft.com/zh-tw/library/system.web.mvc.html(v=vs.118).aspx
【以下有幾種方式達到 「Partial View」效果】
1.【Using System.Web.Mvc.Html.(Partial)Extensions 類別】
說明:部分檢視轉譯為 HTML 編碼字串的功能 (因轉換 Html 效能會慢點)
Msdn Url:https://msdn.microsoft.com/zh-tw/library/system.web.mvc.html.partialextensions(v=vs.118).aspx
程式範例:
Html.Partial("ViewName")
Html.Partial("ViewName","Model")
2.【Using System.Web.Mvc.Html.(RenderPartial)Extensions 類別】
說明:叫用指定的子系動作方法,並呈現內嵌於父檢視內的結果。
Msdn Url:https://msdn.microsoft.com/zh-tw/library/system.web.mvc.html.renderpartialextensions(v=vs.118).aspx
程式範例
Html.RenderPartial("_LoginPartial");
Html.RenderPartial("ViewName","Model")
PS.綜合以上1.2 說明,使用情境 Master Layout 將[資料]帶入給 Parent(Partial、RenderPartial) 使用
【Using System.Web.Mvc.Html.ChildActionExtensions 類別】
說明:代表支援[呼叫]子系動作[方法]並支援[呈現]內嵌於[父檢視]中的結果。
Msdn Url:https://msdn.microsoft.com/zh-tw/library/system.web.mvc.html.childactionextensions(v=vs.118).aspx
底下再分層 兩大類功能,可透過 Control 底下 Action 回傳 資料模組
1.(Action)
說明:部分檢視轉譯為 HTML 編碼字串的功能 (因轉換 Html 效能會慢點)
Msdn 說明:叫用指定的子系動作方法並以 HTML 字串形式傳回結果。
連結:https://msdn.microsoft.com/zh-tw/library/ee721266(v=vs.118).aspx
程式範例:
Html.Action("_LoginPartial");
Html.Action("_LoginPartial","ActionName");
2.(RenderAction)
說明:
Msdn Url:https://msdn.microsoft.com/zh-tw/library/ee703541(v=vs.118).aspx
程式範例:
Html.RenderAction("_LoginPartial");
Html.RenderAction("actionName","controllerName");
@{ Html.RenderAction("MenuAction", "BackLayout"); }
PS.綜合以上1.2 說明,Action 顧名思義 就是會透過後端Control 呼叫 Action 程式回傳(資料) For View 使用
圖示如下:
Partial View 說明流程圖 |
【ASP.MVC】工具 Intellisense 一下出現 又馬上消失問題
CTRL + SHIFT + J 重新更新 View 上面的 Script Intellisense
解決一下出現 又馬上消失問題