ViewData不在partials中继承

时间:2009-06-23 01:54:18

标签: asp.net-mvc viewdata

当一个特定的列表页面没有数据时,我试图使用共享的局部视图进行渲染。我想使用ViewData将信息从页面传递到我的列表控件,然后使用ViewData值有条件地呈现NoData局部视图。

我希望能够在视图标记中指定它们,而不是在控制器操作中指定它们,但是当我在视图中添加它们时,似乎不会继承到子部分视图(如Nodata局部视图) 。但是,在控制器操作的ViewData值中指定它们可以正常工作,数据一直可用......

有谁知道它为什么会这样?

2 个答案:

答案 0 :(得分:2)

渲染局部时,您也可以传递ViewData。

<% Html.RenderPartial("NoData", ViewData); %>

答案 1 :(得分:0)

<%Html.RenderPartial("partialViewName", "viewData", "model"); %>

最佳做法是在控制器内部做出决定,如果你有一个在视图中做出决定的场景,将它们分开并在控制器内有条件地调用它们