需要在MasterPage上访问ViewData ...或其他选项

时间:2010-07-22 22:35:44

标签: c# asp.net-mvc model-view-controller asp.net-mvc-2 master-pages

我在VS2010中使用MVC2和.Net 4.0。我有一种情况,我将有一堆部分视图,我需要都有相同的模板。基本上我需要它们都包含相同的DIV(和其他垃圾)。我只想要一个地方来改变这个DIV ...所以我使用了一个母版页。它工作得很好,所有的部分视图都使用那个主人,如果我需要改变它没有问题。

问题空间:我需要一些View特定数据,在这种情况下,它是视图显示的记录的Id,显示在ID id DIV中。现在我意识到我可以创建另一个占位符,但我需要这个id在10个位置,而不是1。

<div id="<%: ViewObjectId %>">
  <asp:contentplaceholder id="ViewStuff" runat="server"/>
</div>

我尝试将Id添加到ViewData,但是在MVC2中似乎缺少ViewData。

我可以创建一个调用子视图的父Action,但问题是它取消了我想要的任何参数的灵活性......所有视图都必须使用相同的签名。

有任何想法或建议吗?

1 个答案:

答案 0 :(得分:1)

不确定你的意思“但是在MVC2中看起来ViewData在行动中缺失了。” ViewData就在那里,应该可以满足您的需求。但是,如果您需要,则必须以ViewData["ViewObjectId"]的形式访问它。

如果这不起作用,您是否可以发布代码示例以显示您尝试设置ViewData值的方式?