指定返回不同的视图:
return View("NotIndex");
向视图传递信息时
ViewData["CurrentTime"]/ViewBag.CurrentTime = DateTime.Now; //ViewData和ViewBag等同 ViewDataDictionary类型
视图Model = ViewData.Model
在控制器通过return View(albums);传递View方法的值给ViewData.Model ,在视图里通过引用Model得到albums集合
1.
@model IEnumerable<MVCApplication1.Models.Album>
<ul>@foreach(Album p in Model){<li>p.Title</li>}</ul>
2.
@using MVCApplication1.Models
@model IEnumerable<Album>
3.web.config
<pages><add namespace="MVCApplication1.Models">
添加视图:
List 创建一个带有模型实例表的视图,为模型的类型每个属性生成 一列。确保操作方法向视图传递的是IEnumerable<Objects>.同时为了执行创建/编辑/删除操作,视图中还包含指向操作的链接。
Reference script libraries 这个选项指出是否包含JavaScript库,默认情况下_Layout.cshtml文件不包括jQuery Validation,Unobtrusive jQuery Validation 只引用主jQuery库
Create as a partial view 建立的不是完整视图 ,因此Layout选项不可用。
Use a layout or master page 是否引用布局(或母版页),如果使用默认布局就没必要指定个一布局,因为在_ViewStart.lcshtml文件中已经指定了布局。这个选项是用来重写默认布局文件的。
<%:%><%=%>
Razor 特性
@@
@object //隐显
@(object) //显示
@{express} //代码块
@Html.Raw(string)
@Ajax.JavaScriptStringEncode(string) JavaScript XSS攻击
@if(true)
{
@:This is plain text.
}
@* *@ == <%-- --%> 注释
DbContext
DbSet<object> Objects{get;set;}
EF数据初始化器 //为了方便 早期阶段的快速变化 和迭代 一旦发布就不能在改变模型和重建数据库
让EF 在模型变化 时重建数据库
Database.SetInitializer(new DropCreateDatabaseAlways<模型控制器名从DbContext派生>())
DropCreateDatabaseAlways 总是重建
DropCreateDatabaseIfModelChanges 模型改变改重建
SelectList(object.object,"字段值","要显示的字段 ",默认值)
db.Entry(object).State=EntityState.Modified;
UpdateModel(object) //may be throw exption
TryUpdateModel(object) //return Bool value 。
if(TryUpdateModel(object) )
or
TryUpdateModel(object) //
if(ModelState.IsValid) //success Valid be true or falid Valid be false