asp.net mvc c# 中的 ViewData 是什么?


ViewData 是一个以字符串作为键存储和检索对象的字典。它用于将数据从控制器传输到视图。由于 ViewData 是一个字典,因此它包含键值对,其中每个键必须是字符串。ViewData 仅将数据从控制器传输到视图,反之则不行。它仅在当前请求期间有效。

在 ViewData 中存储数据 −

ViewData["countries"] = countriesList;

从 ViewData 中检索数据 −

string country = ViewData["MyCountry"].ToString();

ViewData 没有提供编译时错误检查。例如,如果我们拼写错误键名称,我们将不会收到任何编译时错误。我们只能在运行时了解该错误。

控制器

示例

using System.Collections.Generic;
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
   public class HomeController : Controller{
      public ViewResult Index(){
         ViewData["Countries"] = new List<string>{
            "India",
            "Malaysia",
            "Dubai",
            "USA",
            "UK"
         };
         return View();
      }
   }
}

视图

@{
   ViewBag.Title = "Countries List";
}
<h2>Countries List</h2>
<ul>
@foreach(string country in (List<string>)ViewData["Countries"]){
   <li>@country</li>
}
</ul>

输出


更新于:2020-09-24

2K+ 浏览量

开启您的职业生涯

完成课程获取认证

开始学习
广告
© . All rights reserved.