[英]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.