Asp.net core mvc Asp.net核心MVC ModelMetadata.AdditionalValues添加函数
我正在将MVC5升级到Asp.Net Core 3 MVC,刚刚发现ModelMetadata.AdditionalValues已更改为IReadOnlyDictionary。我们以前在附加值中存储过信息。现在的替代方案是什么 提前谢谢。 威尔逊 现在的替代方案是什么 您可以使用Asp.net core mvc Asp.net核心MVC ModelMetadata.AdditionalValues添加函数,asp.net-core-mvc,asp.net-core-3.1,Asp.net Core Mvc,Asp.net Core 3.1,我正在将MVC5升级到Asp.Net Core 3 MVC,刚刚发现ModelMetadata.AdditionalValues已更改为IReadOnlyDictionary。我们以前在附加值中存储过信息。现在的替代方案是什么 提前谢谢。 威尔逊 现在的替代方案是什么 您可以使用ViewData和ViewBag将数据传递给ASP.NET Core中的视图 查看数据 是控制器基类的属性,它返回一个ViewDataDictionary对象。 ViewDataDictionary是一个dictiona
ViewData
和ViewBag
将数据传递给ASP.NET Core中的视图
查看数据
是控制器基类的属性,它返回一个ViewDataDictionary
对象。
ViewDataDictionary
是一个dictionary对象,它允许我们存储键值对。密钥必须是不区分大小写的字符串。要将数据传递给视图,可以使用键将值分配给字典。您可以根据需要在ViewData
中存储任意数量的项目
存储在ViewData
对象中的数据仅在当前请求期间存在。一旦视图生成并发送到客户端,Viewdata
对象就会被清除
以下是在操作中使用ViewData
设置标题值的示例:
1。控制器中的代码
public IActionResult Index()
{
ViewData["Title"] = "Hello World!";
return View();
}
public IActionResult SomeAction()
{
ViewBag.Greeting = "Hello";
return View();
}
2。视图中的代码
@ViewData["Greeting"]
@ViewBag.Greeting World!
查看包 在Razor页面中不可用
ViewBag
是一个动态ViewData对象,提供对存储在ViewData
中的对象的动态访问ViewBag
可以更方便地使用,因为它不需要铸造。以下示例显示了如何使用ViewBag
,其结果与使用上述ViewData
相同:
1。控制器中的代码
public IActionResult Index()
{
ViewData["Title"] = "Hello World!";
return View();
}
public IActionResult SomeAction()
{
ViewBag.Greeting = "Hello";
return View();
}
2。视图中的代码
@ViewData["Greeting"]
@ViewBag.Greeting World!
在这里,您可以在中找到更多信息,如下所示。
- ViewData属性-另一种使用
的方法是ViewDataDictionary
ViewDataAttribute
- 同时使用ViewData和ViewBag
- ViewData和ViewBag之间的差异摘要
- 使用ViewData或ViewBag时
- 强类型数据(ViewModel)