我对Razor (制作我的第一个真正的项目)很陌生,我从微软文档这里中看到,您不应该使用@Html.Partial,而是使用@await Html.PartialAsync或<partial> HTML标记。不幸的是,这两种方法都不适合我。
下面的代码在我的一个视图中。foreach循环( @Html.Partial)中的第一行呈现部分视图。接下来的4行,每个渲染都没有(我分别尝试了其中的每一行)。根据文档,我的理解是第2行(<partial name="_InfoCard.cshtml" model="cardModel" />)相当于工作线。
有人能告诉我我做错了什么吗?提前谢谢你!
注意:我不确定ASP.NET Core2.1与.NET框架的区别是什么。当我做这个项目的时候,我从2017开始,选择了New Project ➔ ASP.NET Web Application (.NET Framework) ➔ MVC,所以我认为我应该有足够的当前版本的所有东西来工作……我有以下几点:
Microsoft.AspNet.Mvc v5.2.4, Microsoft.AspNet.Razor v3.2.4, Microsoft.AspNet.WebPages v3.2.4
再次,谢谢您的提前!
@using RazerMagazineDashboard.Models
@model RazerMagazineDashboard.Models.SummaryModel
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
@{
foreach (InfoCardModel cardModel in @Model.CardModels)
{
@Html.Partial("~/Views/Shared/_InfoCard.cshtml", cardModel); @* Works well *@
<partial name="_InfoCard.cshtml" model="cardModel" /> @* Renders nothing *@
<partial name="_InfoCard.cshtml" model=@cardModel /> @* Renders nothing *@
<partial name="~/Views/Shared/_InfoCard.cshtml" model="cardModel" /> @* Renders nothing *@
<partial name="~/Views/Shared/_InfoCard.cshtml" model=@cardModel /> @* Renders nothing *@
}
}发布于 2018-10-27 07:51:02
这是ASP.NET mvc 5方法
@Html.Partial("~/Views/Shared/_InfoCard.cshtml", cardModel); @* Works well *@这是.NET核心方法
<partial name="_InfoCard.cshtml" model="cardModel" /> @* Renders nothing *@
<partial name="_InfoCard.cshtml" model=@cardModel /> @* Renders nothing *@
<partial name="~/Views/Shared/_InfoCard.cshtml" model="cardModel" /> @* Renders nothing *@
<partial name="~/Views/Shared/_InfoCard.cshtml" model=@cardModel /> @* Renders nothing *@因此,我认为您的项目是使用.NET框架构建的MVC 5,而不是.NET核心项目。
https://stackoverflow.com/questions/53018419
复制相似问题