当我使用ViewBag和ViewData使用相同的密钥时,只有最后一个有效。
我正在使用此代码:
我的行动部分
public ActionResult Index()
{
ViewBag.Name = "View Bag";
ViewData["Name"] = "View Data";
TempData["Name"] = "Temp Data";
return View();
}
Run Code Online (Sandbox Code Playgroud)
我的观点部分
<div class="jumbotron">
<h1>ASP.NET</h1>
<p class="lead">@ViewBag.Name</p>
<p class="lead">@TempData["Name"]</p>
<p class="lead">@ViewData["Name"]</p>
<p><a href="http://asp.net" class="btn btn-primary btn-lg">Learn more »</a></p>
</div>
Run Code Online (Sandbox Code Playgroud)
我的结果显示在 UI 上
ViewBag 是一种动态类型。ViewBag 的内部实现将 Name 存储到 ViewData["Name"](ViewDataDictionary 的类型)中,因此这两个是可以互换的。ViewData["Name"] 和 ViewBag.Name。