ViewData在ASP.Net MVC控件内重置

时间:2010-02-25 09:48:32

标签: asp.net-mvc

我在视图页面中有2个用户控件(ascx)实例。

我在用户控件中设置了ViewData [“xyz”] =“True”。

第一个实例会将ViewData [“xyz”]设置为“True”。但是,在用户控件的第二个实例中不保留此相同值。

我期待ViewData [“xyz”]仍然是“True”,但它是null。

请帮忙。

在用户控件之间建立共享变量的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

任何逻辑都应该在控制器内完成。用户控件(视图,部分视图)不应具有需要将数据放入ViewData集合的逻辑。视图仅用于演示。

答案 1 :(得分:0)

也许你可以做((ViewPage)Page).ViewData["whatever"] = "value";

更好的想法可能是不需要用户控件之间的共享状态,