我最近通过 Web 平台安装程序安装了 ASP.NET MVC 3。我在 Razor View 中没有对 ViewBag 的智能感知支持。 Intellisense 适用于 Razor View 中的模型。我试图重建解决方案,禁用 ReSharper ......但我无法让它工作。
任何帮助将不胜感激。
最佳答案
ViewBag
属性输入为 dynamic
,这意味着没有 IntelliSense。ViewBag
是访问 ViewData
的别名/替代语法字典。下面两行代码是等价的:
ViewBag.Message = "My message";
ViewData["Message"] = "My message";
ViewBag
提供比 ViewData
更简洁的语法.还要注意访问 ViewData
使用字符串键也不会提供 IntelliSense,因此您不会真正失去任何功能。最后一个注意事项是
ViewBag
和 ViewData
使用相同的后备存储,以便使用一种方法设置属性使其使用另一种方法可用:ViewBag.Message = "My message";
string message = ViewData["Message"];
// message is now "My message"
关于intellisense - ASP.NET MVC 3 - ViewBag 属性不提供 IntelliSense,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4719089/