当使用ASP.NET Core 6.0的Hot Reload功能时,操纵ViewBag时可能会出现一个错误,这是由于Hot Reload功能正在进行代码注入并重新编译视图文件,因此可能会导致视图和控制器中的代码不同步。
为解决此问题,一种简单但不太优雅的解决方案是将ViewBag替换为ViewData。这样做可以避免此错误,并且代码将更加明确。
以下是示例代码:
在Controller中:
public IActionResult Index()
{
ViewData["Message"] = "Hello, World!";
return View();
}
在View中:
@ViewData["Message"]
这种方法不仅可以避免Hot Reload错误,而且在代码中使用ViewData也更推荐。