Asp.Net Mvc之模型注解
?????????????????????????????????? Asp.Net Mvc之模型注解
正文:
???? 命名空間:
???? using System.ComponentModel;
?? ? using System.ComponentModel.DataAnnotations;
???? 在實體對象的屬性上貼上相對應的特性標簽(本質是通過反射得到特性標簽的類實例,再進行相對應的業務邏輯處理判斷),由于通過EntityFrameWork生成的xx.tt模板每次生成操作之后都會覆蓋掉原有的修改,所以使用以下方法來對類對象貼上特性標簽而且也保證不會被模板覆蓋:
???? 新建一個類(這里叫StudentView)
????
???? 新建一個partial的Student類,這里的Student.cs的命名空間要和xx.tt模板的Student類的命名空間保持一致:
?????
???? 下圖是xx.tt模板的Student類文件:
?????
????? Note:在using System.ComponentModel.DataAnnotations;下有很多個特性標簽可以使用;
???? 上圖在System.Web.Mvc命名空間下的Remote特性標簽作用是發Ajax請求到指定路徑判斷返回一個string確定是"true"還是"false",注意使用提交方式為post,使用get會有緩存的影響;
???
???? 接下來配合一系列由HtmlHelper提供的幫助方法實現展示:比如下圖寫法
????
???? 使用強類型:
????
?????? 在上圖中,@Html.DropDownListFor()中使用了兩個ViewBag的傳值:
????
?????? getSetInfo()和getClassInfo()的內容就是注釋的內容;
?????? 除此之外,還需要添加非嵌入式腳本的引用,這里我加到了ViewStart.cshtml文件下(此文件會在每個view的最上方渲染)
??????
????? Note:在webconfig文件下的appSettings需要注意兩個子節點的配置
???????
?????? 需要打開非嵌入腳本和客戶端檢測的開關(true),默認是true.
???? 一般情況下在客戶端檢查合法性之外,在后臺也需要再次檢測:
????
??????? ModelState.AddModelError()的錯誤信息會在@Html.ValidationSummary()顯示.
?????
?
?????? 補充一下關于View()的東西:
???
?????? 可以根據全路徑返回視圖.
?????? 在頁面接收一個集合使用IEnumerable<T>強類型:
??????
??????
?
????
?
?
????
轉載于:https://www.cnblogs.com/Francis-YZR/p/4788667.html
總結
以上是生活随笔為你收集整理的Asp.Net Mvc之模型注解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (软件工程复习核心重点)第一章软件工程概
- 下一篇: asp.net ajax控件工具集 Au