最近一直在使用MVC来写前台页面,向view中传值方式有多种,之前一直在使用但没有做一个整体的汇总,接下来就对之前的学习做一个汇总,让自己能够更好的运用如何在MVC中进行传值,这样也方便前台界面的调用。
1、Viewbag
Controller代码
public ActionResult ChooseCourse() { string Result = QueryStudentTime(); ViewBag.Message = Result.ToString(); return View(); }
View中代码
@{ ViewBag.Title="ChooseCourse" } Message:@ViewBag.Message var message ='@ViewBag.Message'//另一种接收方式2、ViewData
Controller中代码
public ActionResult Index() { DataTable table = new DataTable(); DataSet ds = new DataSet(); table = GetInfo(); int number = table.Rows.Count; ViewData["NUM"] = number; ViewData["FKG"] = a; return View(); }View中代码
<h3>@ViewData["NUM"]</h3> <h4>@ViewData["FKG"]</h4>3、ViewModel
ViewModel中代码
public class StudentViewModel { public string name { get; set; }//姓名 public string sex { get; set; }//性别 public string idNumber { get; set; }//身份证号 }
Controller中代码
public ViewResult Index(int id) { Student student = student.GetStudent(id) return View(date); }View中代码
@model StudentViewModel @{ ViewBag.Title ="Index"; }
@Html.TextBoxFor(u => u.name) @Html.TextBoxFor(u => u.sex)
总结:
这是总结的最近用到的传值方式,viewmodel和model是一样的,都是比较智能的,能够直接提示出能够给出那些内容是我们需要使用的,传值的内容是有一定的限制的,只能存入指定类型的数据,而viewData和ViewBag相对更加灵活一些,可以放入任何数据。