1、實體類
Attribute:需要引用命名空間System.ComponentModel.DataAnnotations
[Required(ErrorMessage="")]:表示字段必須,在提交時進行驗證,不通過返回ErrorMessage。
[DisplayFormat(NullDisplayText="",DataFormatString="")]:用於日期顯示格式及對於NULL值的處理。
[Key]:主鍵字段。
[MaxLength(36,ErrorMessage="")]:最大長度限制,超出限制時返回ErrorMessage。
[MinLength(8,ErrorMessage="")]:最小長度限制,未達到長度返回ErrorMessage。
[Phone(ErrorMessage="")]:對於電話號碼的驗證,不符合返回ErrorMessage。
[StringLength(12,MinimumLength=6,ErrorMessage="")]:指定數據字段的最大和最小長度,不符合返回ErrorMessage。
[Url(ErrorMessage="")]:URL驗證,不符合返回ErrorMessage。
2、Global.asax
在MVC4中Global的詳細配置項在【App_Start】文件夾中。其中BundleConfig.cs文件是對JS、CSS等系列文件的歸結,RouteConfig.cs是對路由器的配置。
3、頁面
@Html.ActionLink():說明示例,
1),@Html.ActionLink("要顯示的文字", "Index"):參數,LinkText,ActionName,不帶參控制器內跳轉
2),@Html.ActionLink("要顯示的文字", Index", new {id=item.ID }):參數,LinkText,ActionName,RouteVlues,帶參控制器內跳轉,其中item為頁面內Model。
3),@Html.ActionLink("要顯示的文字", "Index",routeValues:new{id=item.ID},htmlAttributes:null):參數,LinkText,ActionName,routeValus,htmlAttributes。
4),@Html.ActionLink("要顯示的文字", "Index","Home",routeValues:new{id=item.ID},htmlAttributes:null),參數,,LinkText,ActionName,ControllerName,routeValus,htmlAttributes,帶參跨控制器跳轉,成功跳轉需要把所有Attribute都寫上。
@Html.DropDownList():說明示例,
@Html.DropDownList("Sex",String.empty),參數,name,optionLabel。Controller中配置:
1),ViewBag.Sex=new List<SelectListItem>(){new SelectListItem(){Text="",Value="",Selected=Bool}};
1 ViewBag.Sex = new List<SelectListItem>() { new SelectListItem() { Text = "男", Value = "男" }, new SelectListItem() { Text = "女", Value = "女" } };
2),ViewBag.Sex=new SelectList(item,value,text,selecteditem);
1 ViewBag.Sex = new SelectList(db.Sjzd, "ID", "sjzdname", "1");
日期控件,My97DatePicker(WdatePicker):Ps:需要的可以google一下。示例說明,
JS引入,
<script src="@Url.Content("~/MyControls/MyDatePicker/WdatePicker.js")" type="text/javascript"></script>
使用,
@Html.TextBox("Biyeshijian", ViewData["dateNow"], new {@class="Wdate", onfocus="WdatePicker({skin:'default',dateFmt:'yyyy-MM-dd',isShowClear:false,readOnly:true})" })
分頁控件(MvcPaper),示例說明,
添加MvcPager引用,並在【View】中web.config中添加命名空間,
在頁面修改,
加入
<div> 共有 @Model.TotalItemCount 條記錄 第 @Model.CurrentPageIndex 頁/共 @Model.TotalPageCount 頁 @Html.Pager(Model, new PagerOptions { PageIndexParameterName = "page", ShowPageIndexBox = true, PageIndexBoxType = PageIndexBoxType.TextBox, PageIndexBoxWrapperFormatString = "請輸入頁數{0}" }, "Default", new { sortOrder = ViewBag.DateSortParm, searchString = ViewBag.Filter }) </div>
Controller中修改Index()方法
public ActionResult Index(int? page=1) { var users = db.Users.Include(u => u.Group); users = users.OrderByDescending(u => u.IsLeader); int pageSize = 15; int pageIndex = page ?? 1; return View(users.ToPagedList(pageIndex, pageSize)); //return View(users.ToList()); }
需要注意,此控件使用時需要先有排序,否則報錯。
4、其他可直接用或修改后可用的代碼
用戶登錄驗證
修改過的1 db.Users.where(e=>e.loginname == _loginname && e.password == _password).firstordefault();
判斷某項是否已經存在
1 private bool Exists(string groupName) 2 { 3 var group = from t in db.Group 4 select t; 5 int count = group.Count(g => g.GroupName.Contains(groupName)); 6 7 //int count=db.Group.Count(g => g.GroupName.Contains(groupName)); 8 if (count == 0) 9 return false; 10 else 11 return true; 12 }