MVC4中常用的短句及配置归结(部分)
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 }