1. 程式人生 > 實用技巧 >Asp.Net MVC 5 筆記

Asp.Net MVC 5 筆記

@Razor語法 是我必須要掌控的
@Razor語法中 傳值多用 new { }匿名物件
@Html.Partial 和 @Html.Action 的區別是 Partial 不會進入控制器中,只會返回部分檢視。
@Html.RenderPartial 和 @Html.Partial 區別在於 一個在輸出流中插入,一個是返回HTML。前者稍快。同理 RenderAction
PartialView 返回部分檢視 (不用也行,部分頁的重點 在於你右鍵新增View時選擇的項)
ChildActionOnly 攔截 URL訪問 (只能用 Partial 和 Action 等訪問) 用於保護 部分頁
部分檢視 沒有 @Model 強型別模型繫結
部分檢視 可用於區域性重新整理 配合 AJAX $.Load()
Layout 佈局頁不顯示設定 預設為 Shared
[bind{Include="xxx,xxx"}] 顯示宣告 Form 表單繫結資料 防止非法繫結(引數修飾符,使用UpdateModel / TryUpdateModel時 可以使用過載方法,指定繫結。) 也可用DTO來隔離繫結。
資料註解會在引數為強型別時預設執行模型繫結 驗證。 或者使用 UpdateModel / TryUpdateModel進行驗證
{{uploading-image-933131.png(uploading...)}}
資料驗證的ErrorMessage顯示 通過@Html.ValidationMessageFor() 方法繫結報錯資訊展示地址
資料驗證 使用資料註解時 配合 EF + Razor 效果更好
Display 預設繫結顯示值 ( 配合 LabelFor)
DisplayFormat 格式化顯示屬性
EditorForModel(DisplayForModel 需Display) 為檢視 Model 預設生成編輯樣式
RegularExpression 正則資料註解
Compare 兩個屬性需保證相同的值 (Password驗證等,配合NoMap)
Remote 繫結自定義驗證方法 (客戶端在驗證時會把值傳遞到Remote繫結的方法中,根據返回的T/F判斷是否驗證通過)
每個特性都有一個ErrorMessage的屬性來判斷 ErrorMessage 支援外部配置報錯資訊
自定義註解 分兩種 1,自定義通用註解 2,針對單一類的註解 // 1,需繼承 ValidationAttribute 2,需Class繼承IValidatableObject
ValidateAntiForgeryToken 配合 @Html.AntiForgeryToken使用 防止Form偽造
此程式碼用於檢測 ReturnUrl 重定向風險

private ActionResult RedirectToLocal(string returnUrl)
        {
            if (Url.IsLocalUrl(returnUrl))
            {
                return Redirect(returnUrl);
            }
            return RedirectToAction("Index", "Home");
        }