MVC4的增删改查
增:create
首先判断模块是否有效:if(ModelState.IsValid)
添加数据: db.表名.add(保存对象)
提交数据 : db.SavaChanges()
删:deleteConfirmed
首先找到要删除数据id:db.表名.Find(id)
删除数据: db.表名.Remove(删除数据)
提交数据: db.SavaChanges()
改:Edit
找到要修改的id: db.表名.Find(id)
判断模块是否有效: if(ModelState.IsValid)
修改数据: db.Entry(表名).State=EntryState.Modified
提交数据: db.SaveChanges();
查:Details
根据id: 先找到id: db.表名.Find(id)
查看: return View(表里信息)
到数据库中查看: return View(db.表名.ToList())
在asp中foreach表达式
@model IEnumerable<MVCMeviea.Models.Mevie>找到mevie所在表
@foreach(var item in Model){
<tr>
<td>
@Html.DisplayFor(modelItem => item.Titile)
</td>
<td>
@Html.ActionLink("edit","Edit",new{id=item.ID})
</td>
<tr>
}
asp中MVC几种传值方法:
1)@html.ActionLink
1.@.Html.ActionLink("linkText","actionName"),第一个参数:要显示的文本,第二个参数:视图名
2.@Html.ActionLink("linkText","actionName",routeValues,htmlAttributes)
第一个参数:要显示的文本,第二个参数:视图名, 第三个参数:url中的参数,第四个参数:设置标签属性
如 Html.ActionLink("detail","Detail",new{id=1},new{ target="_blank"})
会生成 <a href="Products/Detail/1" target="_blank">detail</a>,
需要主要的是如果写成 new{ target="_blank",class="className"}则会报错,
因为class是关键字,此处应该写成 @class="className"。
2)@html.DisplayFor():把数据库里的信息显示出来
@Html.DisplayNameFor:字段名
[Display(AutoGenerateField = false, Name = "风格")]
3)@Html.LabeFor()
4)@Html.EditorFor
5)@Html.ValidationMessageFor(model => model.Title)
校验器
在model具体数据上添加
[Required] 属性指示该属性必须有一个值
[DataType(DataType.Date)] 必须是日期
[Range(1, 100)] 1到100的数字
[StringLength(5)] 大小为5