Control.Page在嵌套的ViewUserControl中的奇怪行为

时间:2011-02-11 17:10:08

标签: c# asp.net asp.net-mvc

我有一个ASP.Net MVC视图,其中包含ViewUserControl派生的其他部分视图。视图本身包含在母版页中,因此控件层次结构可以总结如下:

    Master page              - basic settings
       ViewPage              - "the" page
          ViewUserControl    - content component 1
          ViewUserControl    - content component 2
          ...
          ViewUserControl    - content component n

此外,我们有一个CSS和Javascript文件声明的自定义控件。此自定义控件确保无论层次结构有多深,只要存在CSS或JS依赖关系,它就会在Page.Header内呈现,从而避免分散和重复的引用。我们称之为自定义控件<my:dependency>

在主页或ViewPage中托管<my:dependency>时,一切都很顺利。但是如果我在内容组件中更深入地使用它,Page.Header为空。调试显示,对于ViewUserControl中托管的控件,他们的Page是他们所在的ViewUserControl,因此确实缺少Header

如何让<my:dependency>“看到”最顶层的ViewPage并访问Header?感谢。

1 个答案:

答案 0 :(得分:1)

现在我错了,但你似乎试图让一个Web表单控件在MVC中工作,这是因为你发现的原因而不推荐的。

您可能希望查看涉及ViewData集合的内容。

西蒙