我有一个混合ASP.NET的WebForms / MVC项目。在我的母版页,我有一个“菜单”用户控件和一个“页脚”用户控制。无论如何。我需要一些数据(2串)传递给我的“菜单”用户控件在我的母版页(选择在我的菜单导航等当前选项卡),我的意见强类型,以我的数据模型。在我的控制器如何可以将数据推从我的控制器到我的菜单或至少允许我的主页访问某些数据预先定义

注:我知道这违反了纯粹的ASP.NET MVC的,但就像我说的,这是一个混合的项目。我介绍了ASP.NET MVC到我的项目的主要目的是让在我的某些情况下,只能

UI更多的控制权
有帮助吗?

解决方案

把你的串入的ViewData集合,

ViewData["MenuString1"] = "My First String";
ViewData["MenuString2"] = "My Second String";

和在母版页这样检索它们:

myMenu.Property1 = ViewData["MenuString1"].ToString();
myMenu.Property2 = ViewData["MenuString2"].ToString();

http://nerddinnerbook.s3.amazonaws.com/Part6.htm

其他提示

可以使用的ViewData到控制器和视图之间共享数据,是不是在模型中。在控制器,这样做ViewData["menu"] = myMenu;然后在视图做<%= ViewData["menu"] %>。你可以通过对象,但你需要投的计算机[关键]回在视图对象类型。

另一种方式做,这是把你的菜单和其他非模式相关的数据需要到一个单独的控制器。然后你可以使用的RenderAction调用动作在生成菜单您的导航控制器。 哈克有一个的RenderAction博客文章,解释得更详细。

我倾斜朝向使用的ViewData来自控制器等选择列表和用于无关东西的RenderAction临时值如主站点的导航。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top