繁体   English   中英

在 asp.net MVC 中投射 ViewData

[英]Casting ViewData in asp.net MVC

这是我的控制器代码:

    public ActionResult Index()
    {
        AccountModel user = new AccountModel();
        user.Username = "Jay";
        user.Password = "Jay";
        ViewData["EmpData"] = user;
        return View();
    }

如何在视图代码中投射ViewData["EmpData"]

在这里,在视图代码中使用它:

@*Change namespace per your solution.*@
@using WebApplication.Models;
@{
    AccountModel emp = (AccountModel) ViewData["EmpData"];
}
   // Controller
       public ActionResult Index2()
    {
     IList<Student> studentList = new List<Student>();
     studentList.Add(new Student(){ StudentName = "Bill" });
     studentList.Add(new Student(){ StudentName = "Steve" });
     studentList.Add(new Student(){ StudentName = "Ram" });

      ViewData["studentsData"] = studentList;

      return View();
    }

     @* View *@
   @foreach (var std in ViewData["studentsData"] as                    
     IEnumerable<Mvc_DisplayFormating.Models.Student>)
 {
    <li>
        @std.StudentName
    </li>
  }
     </ul>

要将 ViewData 转换为视图,您只需运行一个 foreach 循环,获取 ViewData 的键并将其转换为包含学生模型的 IEnumerable 接口。

   @foreach (var std in ViewData["studentsData"] as                  
             IEnumerable<Mvc_DisplayFormating.Models.Student>)
<span>
    Hello @((ViewData["EmpData"] as AccountModel).Username)
</span>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM