Asp.net MVC的传值方式(一)

    最近一直在使用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相对更加灵活一些,可以放入任何数据。

       

你可能感兴趣的:(Asp.net MVC的传值方式(一))