在控制器中声明ViewBag

时间:2012-03-29 17:57:58

标签: asp.net-mvc-3 controller viewbag

我在控制器上的方法中多次使用ViewBag.Message相同的消息。 可以在类的顶部声明ViewBag.Message,因此可以在整个控制器中使用而无需重复代码吗?

1 个答案:

答案 0 :(得分:3)

假设使用Razor语法,您可以使用。

来实现
@{string pageMessage = ViewBag.Message.ToString();}

然后pageMes​​sage是页面可用的局部变量,例如:

<h1>@pageMessage</h1>

修改

ViewBag是一个动态对象,它是Controller基类的成员,因此只需在整个控制器中指定一次,就可以在控制器构造函数中放置一些东西。

public class MyController : Controller
{
        public MyController()
        {
            ViewBag.ViewTime = DateTime.Now.ToString();
        }

        // rest of controller code
}