我有一个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
?感谢。
答案 0 :(得分:1)
现在我错了,但你似乎试图让一个Web表单控件在MVC中工作,这是因为你发现的原因而不推荐的。
您可能希望查看涉及ViewData集合的内容。
西蒙