编译时错误:在部分视图中渲染部分视图

发布于 2024-11-18 05:14:41 字数 878 浏览 3 评论 0原文

我正在尝试在部分页面内呈现部分页面。 因此,我在布局页面中调用了部分 CreateMenu,在这里我从布局页面传递模型。这很完美。 现在在 CreateMenu 部分中,我尝试使用相同的语法调用 MenuItem 但随后失败。 Visual Studio 将路径显示为红色(我 100% 知道它存在)。

我如何从部分内部渲染部分。

MenuPartial 对渲染的调用:

@Html.Partial("~/Models/Default/UserControls/_MenuItem.cshtml", Model.Modules[i])    

Model.Modules[i] 由 MvcModule 对象组成。

MenuItem:

@model Models.Default.Classes.MvcModule
<li class="@{if (Model.CanExpand) {<text>fullwidth</text>} else {<text>nodrop</text>}} first_fullwidth">
...

这会导致编译错误:

编译器错误消息:CS0115: “ASP._Page_Models_Default_UserControls__MenuItem_cshtml.Execute()”: Es wurde keine passende Methode zum Überschreiben gefunden。 第 46 行:公共覆盖 void Execute() {

抱歉德语文本。我试图让它输出英语,但 VS 2010 拒绝更改设置=/

I am trying to render a partial page inside a partial page.
So i have in my layout page a call to my partial CreateMenu and here i pass the model from the layout page. This works perfect.
Now inside the CreateMenu partial i am trying to call MenuItem with the same syntax but then it fails. Visual studio shows the path as red (i know to 100% that it exists).

How can i render a partial from inside a partial.

MenuPartial's call to the render:

@Html.Partial("~/Models/Default/UserControls/_MenuItem.cshtml", Model.Modules[i])    

Model.Modules[i] consists of MvcModule objects.

MenuItem:

@model Models.Default.Classes.MvcModule
<li class="@{if (Model.CanExpand) {<text>fullwidth</text>} else {<text>nodrop</text>}} first_fullwidth">
...

This results in a compilation error:

Compiler Error Message: CS0115:
"ASP._Page_Models_Default_UserControls__MenuItem_cshtml.Execute()":
Es wurde keine passende Methode zum
Überschreiben gefunden.
Line 46: public override void Execute() {

Sorry for the German text. I have tried to get it to output English instead but VS 2010 refuses to change the settings =/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一个人的夜不怕黑 2024-11-25 05:14:41

我不认为这是一个嵌套的部分问题。您应该能够毫无问题地嵌套部分内容。看起来您尝试渲染的部分位于 ~/Models/Default/UserControls 目录中。这不是默认视图引擎查找视图的地方。尝试将 web.config 文件从 Views 目录复制到 Models 目录中。

如果是我,我会尽可能避免将视图存储在 Views 目录之外,以避免出现这样的奇怪问题。

I don't think this is a nested partial issue. You should be able to nest partials without any problem. It looks like the partial you're trying to render is in the ~/Models/Default/UserControls directory. This isn't a place the default view engine looks for views. Try copying the web.config file from your Views directory into the Models directory.

If it were me, I would try to avoid storing views outside of the Views directory if at all possible to avoid weird issues like this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文