把数据从控制器传递到视图

来源:互联网 发布:衣着判断 知乎 编辑:程序博客网 时间:2024/05/18 02:09


把数据从控制器的动作方法传到视图

这里介绍两种常用的方法:


第一种方法:  把传递的对象  作为View的参数发给视图
public   ViewResult  Index  ()
{
    DateTime   date   =  DateTime.Now  ;
    return View(date)  ;
}
如果通过这种方法传递的话,在视图里面就可以用Model读取。


比如在弱类型视图里面:
@{  ViewBag.Title =   "Index" }
<h2> Index  </h2>
the  day  is   @( ((DateTime)Model).DayOfWeek )
在弱类型视图里面,要把Model的类型转化一下才可以使用!


又比如在强类型中:
@model  DateTime
@{  ViewBag.Title =   "Index" }
<h2> Index  </h2>
the  day  is   @Molde.DayOfWeek
因为return的是DateTime型,所以指定的model也是日期型。
这里提醒:指定的时候用model(小m)  读取的时候用Model(大M)



第二种方法:用ViewBag(或者ViewData)
打个比方:
public   ViewResult  Index  ()
{
    ViewBag.date =   DateTime.Now  ;
    ViewBag . message =   "asasdas";
    return View( )  ;
}


那么在Index视图里面就可以读取了!!
@{  ViewBag.Title =   "Index" }
<h2> Index  </h2>
<p>the  day  is   @ViewBag.date.DayOfWeek </p>
<p>the  message is   @ViewBag.message</p>


最后要说明的是:
不管第一种方法或者第二种方法都是可以混合使用的,这样子你就可以把多个对象往视图里面传递了!

0 0