1

我一直在开发 Castle Monorail MVC Web 应用程序。我开始使用 Asp.Net MVC 3 和 Razor 学习和开发一些项目。

我使用 NVelocity 作为 Monorail 的视图引擎。它能够使用通过 PropertyBag 传递的变量,例如$!variablename. 这允许我使用 as,如果变量等于 null,那么它不会打印任何值并且不会引发异常。

是否有任何方法可以与 MVC 3 一起使用,或者我是否总是需要检查通过 ViewData 传递的变量是否为空?

提前致谢。

4

1 回答 1

4

如果使用ViewBagViewData传递字符串,则不必检查是否为空。

如果您要传递一个更复杂的对象,比如UserObject带有属性的 a Name,那么尝试访问@ViewBag.UserObject.Name将导致错误。在这种情况下,您应该检查无效性,例如:

@if (ViewBag.UserObject != null) { ViewBag.UserObject.Name }
于 2012-05-14T13:30:50.730 回答