繁体   English   中英

我可以在Razor Partial View中填充母版页中的ContentPlaceHolder吗?

[英]Can I populate a ContentPlaceHolder in a master page from within a Razor Partial View?

我正在使用mvc3中的典型内置视图引擎(它有适当的名称吗?)用于视图和母版页,它包括.aspx页面上的Razor局部视图。 在母版页中,有一个ID为"ScriptContent"ContentPlaceHolder

我希望能够在Razor局部视图中填充ContentPlaceHolder ,但我不认为这是可能的。 有谁知道这是否可能以及我将如何做到这一点?

我已经尝试过像部分渲染它,但这不起作用。

@section ScriptContent {
    ... content ...
}

这将是非常困难的,以至于我建议找到另一种方式:(。我希望它更容易,但这些是将新视图引擎集成到现有遗留系统中的复杂性。

如果你真的想尝试一下,为了给你一个良好的开端:你可能需要为你的Razor内容页面创建一个继承自WebViewPage的自定义基类,覆盖一些方法(说实话,我对这个方面不太熟悉)因此,您需要调试以跟随管道),以便不将Layout属性视为布局页面的路径,而是将其视为母版页。 然后你需要实例化母版页并以某种方式转换Sections(由Razor解析器转换为对DefineSection的调用,并且应该存储在基类的某个地方的Dictionary中)到Content控件中并将它们填入母版页。

如果到目前为止我没有想到你的想法,你可能只能把它拉下来,但说实话,我会避免它。

PS我们将旧视图引擎称为“ASPX”,基于其文件扩展名;)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM