[Validate]
数据验证
[Validate(CheckApp = false)]
富文本验证取消
CSHTML页面特性
分部视图 占位符
增加@RenderSection("header", false)去除false后页面如果不实现将报错
cshtml页面调用JS和CSS
@section header{
//样式表及JS文件引用
}
@Html.Raw
ViewData:字典类型,在前端页面使用的时候,需要进行类型转换。
控制器赋值 ViewData["num"]=2
页面调用@ViewData["num"]
ViewBag:动态类型,运行时自动进行类型转换,不需要进行任何类型转换。
控制器赋值 ViewBag.name = "user";
页面调用 @ViewBag.name
Model: 实质就是ViewData.Model,前端页面通过Model.XXX进行调用,页面需要using引入程序集。
控制器代码
Person p= new Person() { Name = "0000" };
return View(p);
-----------------------------------------------
public class Person
{
public string Name { get; set; }
}
则在视图中可以这样接收:
@model Model.Person//页面引用
@Model.Name//页面使用
TempData:字典类型,前端页面使用时候,需要进行类型转换,但该类型更多的是作为临时变量应用于后台Action直接的传值,它内部是基于Session实现的,它可以存储一次,但是只能读取一次,再次使用,将为空。
在Action中,有如下代码:TempData["name"] = "Vibin3";
则在视图中可以这样接收:姓名: @TempData["name"]
注意:TempData保存在Session中,这种方法可以跨Action使用。
Controller每次请求的时候会从Session中获取TempData并清空Session,
因此TempData中的数据最多只能经过一次Controller传递。
URL参数传递
控制器
return Redirect("/Another/Index?name=uuu");
页面
@Request.Params["name"]