gpt4 book ai didi

c# - 我可以从 Razor 局部 View 中填充母版页中的 ContentPlaceHolder 吗?

转载 作者:行者123 更新时间:2023-11-30 17:15:49 24 4
gpt4 key购买 nike

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

我希望能够从 Razor 局部 View 中填充 ContentPlaceHolder,但我认为这是不可能的。有谁知道这是否可能以及我将如何去做?

我已经尝试过像这样在局部渲染它​​,但那没有用。

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

最佳答案

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

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

如果我在这一点上没有让你感到困惑,你也许可以完成它,但老实说,我会避免它。

附言我们根据其文件扩展名将旧 View 引擎称为“ASPX”。

关于c# - 我可以从 Razor 局部 View 中填充母版页中的 ContentPlaceHolder 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7757772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com