Joh*_*nC1 13 c# asp.net-mvc razor viewbag
我有一个非常简单的ViewBag.Title.像这样:
@{
ViewBag.Title = "My Title";
ViewBag.MiniTitle = "Sub - Title";
}
Run Code Online (Sandbox Code Playgroud)
哪个是在_Layout.cshtml上解析的
<title>@ViewBag.Title</title>
Run Code Online (Sandbox Code Playgroud)
但是,我得到了这个例外:
Thrown: "'System.Dynamic.DynamicObject' does not contain a definition for 'Title'"
(Microsoft.CSharp.RuntimeBinder.RuntimeBinderException)
Exception Message = "'System.Dynamic.DynamicObject' does not contain a definition for
'Title'", Exception Type = "Microsoft.CSharp.RuntimeBinder.RuntimeBinderException"
Run Code Online (Sandbox Code Playgroud)
我一直在搜索,我找不到有关它的更多信息.这个人面临的问题基本上是同一个问题:http://forums.asp.net/t/1715878.aspx?MVC3 + Razor + Viewbag +Title + RuntimeBinderException
我的问题也和发布的最后一个人一样.这对我没有任何问题,项目工作正常,我的标题也是如此.但是,我不喜欢因为它们很昂贵而引发异常的事实.
有谁知道我该如何解决这个问题?谢谢!
Mea*_*een 15
使用 VisualStudio 2022 中的热重载功能可能会导致此错误看似随机发生,但代码中没有任何问题。
修复方法是停止运行/调试、构建并重新启动。
我目前使用的是 VS2022 版本 17.1.6。
Dip*_*hta -1
我试图重新生成上述问题,但没有运气。
您已在母版页中设置了 ViewBag.Title,并且此错误似乎是从您未定义 ViewBage.Title 属性的另一个视图中发生的。
由于ViewBag.Title是母版页的局部变量,其他View将无法获取它并抛出所述错误。
现在,尝试在标签中使用 ViewBag.MiniTitle。您仍然遇到同样的错误吗?
请分享。