Day1:
Html中换行符<br />空格符 ,Raze语言可以中的@{}语句可以摆放在任意位置
ViewData可以在Control层和View层之间传递数据。可以在Control层编辑Model层的数据,而在View层将数据源显示出来.ViewData就相当于一个全局的字典。在存储时,是将Model层的对象打包存在ViewData中,并为这个对象命名,命名随意,并不一定要和类名一致。只要在VIEW层取出来的时候对应上就行。注意,在ViewData中是存为Object对象,所以在View层取出来的时候要强制转换一下。
并且:ViewData中可以存储同一个类的不同对象,只要是在往ViewData中存储时名字不一样。
而ViewBag也是一样的。可以同时存储多个对象,只要在存储的时候名字不一样就行。而且,ViewData和ViewBag之间存储数据、取数据可以交互,也就是说ViewData存储的数据可以用ViewBag取出来,反之也是一样的。
如:Control 层 Action方法:
public ActionResult GetView()
{
Employee emp = new Employee();
Employee emp2 = new Employee();
emp.FirstName = "Sukesh";
emp.LastName = "Marla";
emp.Salary = 20000;
emp2.FirstName = "Tom";
emp2.LastName = "Jack";
emp2.Salary = 100;
//ViewData["Em"] = emp;
//ViewData["Em2"] = emp2;
ViewBag.emp2 = emp2;
ViewBag.emp = emp;
return View("MyView");
}
View层:
@{
Layout = null;
}
@{
//MvcMovie.Models.Employee emp = new MvcMovie.Models.Employee();
//MvcMovie.Models.Employee emp = (MvcMovie.Models.Employee)ViewData["Em"];
//MvcMovie.Models.Employee emp2 = (MvcMovie.Models.Employee)ViewData["Em2"];
MvcMovie.Models.Employee emp =ViewBag.emp;
MvcMovie.Models.Employee emp2 = ViewBag.emp2;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>MyView2</title>
</head>
<body>
<div>
HelloWolrd!
This is My First Web
</div>
<div>
Employee Details
Employee Name:@emp.FirstName@emp.LastName<br />
Employee Salary:@emp.Salary
</div>
<div>
Employee Name:@emp2.FirstName@emp2.LastName<br />
Employee Salary:@emp2.Salary
</div>
</body>
</html>