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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?