【问题标题】:Partial view Menu - Send info to view部分视图菜单 - 发送信息以查看
【发布时间】:2017-12-04 22:06:49
【问题描述】:

这就是我尝试获取包含类的视图的方式。我得到它的方法是写:

@Html.Partial("View/ViewBar_Info/Menu")

如果我正在做一个普通的 MVC 视图,我可以这样做。但那是因为我必须获得通过数据库控制的菜单。因此,我在这里尝试这样做。

我怎么称呼那个视图?

错误文本:

编译处理此请求所需的资源时出错。请查看以下具体错误详情并适当修改您的源代码。

生成的代码缺少一个或多个编译引用。确保 您的项目正在引用“Microsoft.NET.Sdk.Web”和 'PreserveCompilationContext' 属性未设置为 false。

更新 EIDT:

我从 _Layout.cshtml 制作这个

@Html.Partial("View/ViewBar_Info/Menu.cshtml")

在 Menu.cshtml 中:

@page
@model NewWebsite_SITE_2018.Pages.View.ViewBar_Info.MenuModel

@foreach (var item in Model.GetListMenu)
{
    <a>@item.Name</a>
}

现在出错了:

InvalidOperationException:传递到 ViewDataDictionary 的模型项的类型为“NewWebsite_SITE_2018.Pages.IndexModel”,但此 ViewDataDictionary 实例需要“NewWebsite_SITE_2018.Pages.View.ViewBar_Info.MenuModel”类型的模型项。

我要做的是在我的布局中,所以我会调用我的菜单,所以来单页。

【问题讨论】:

  • 您应该复制错误消息并将其粘贴到您的问题中
  • 我现在添加了这个@CodeNotFound
  • 为澄清起见,该项目是否引用了提到的Microsoft.NET.Sdk.Web 包?您是否已经完成了错误消息中所说的任何事情?
  • @J Petersen,你的 dotnet 版本是什么?stackoverflow.com/questions/38567353/…
  • @itikhomi 2.0 .net 核心。我有新版本的VS

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


【解决方案1】:

第一个问题是在 2.0.3 中修复的 Razor 预编译问题 https://github.com/dotnet/core-setup/issues/2981

第二

当你打电话给你的partial时,如果你不发送razor,你应该发送正确的模型尝试发送当前的视图模型

发送已存在的模型

@Html.Partial("View/ViewBar_Info/Menu.cshtml", yourMenuModel)

或创建新的

@Html.Partial("View/ViewBar_Info/Menu.cshtml", new NewWebsite_SITE_2018.Pages.View.ViewBar_Info.MenuModel())

或为不需要的模型修改视图

@{
var menuModel = new NewWebsite_SITE_2018.Pages.View.ViewBar_Info.MenuModel();
}

@foreach (var item in menuModel.GetListMenu)
{
    <a>@item.Name</a>
}

【讨论】:

  • 是的,好吧,我学到了一些新东西,但我的下一个问题是我的菜单文件中的 db 会带来麻烦。 There is no argument given that corresponds to the required formal parameter 'context' of 'MenuModel.MenuModel(DBContext)'
猜你喜欢
  • 2018-03-27
  • 1970-01-01
  • 2017-05-12
  • 2020-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-21
  • 2019-08-06
相关资源
最近更新 更多