【问题标题】:Partial View in MVC 3.1 getting error on ModelMVC 3.1 中的部分视图在模型上出现错误
【发布时间】:2020-04-24 02:01:26
【问题描述】:

我是 .net 核心的新手并创建一个带有局部视图的页面

我的主页

some html here
@*<partial name="~/Pages/Shared/_HomeBanners.cshtml" for="Input.StringProprty" />*@
@await Html.PartialAsync("~/Pages/Shared/_HomeBanners.cshtml", Model.Input.StringProprty)
some html here

从主页,我调用 _HomeBanners.cshml 并传递一个字符串,在 _HomeBanners.cshtml 上我有这个代码

@page
@*@model List<Website.Core.Models.BannerInfo>*@
@model string

<h1>Count = @Model</h1>

我收到错误

目前,它只是一个字符串,但稍后将用我在主页上已有的对象集合替换它 @Model.Info.Banners 列表类型 部分视图后面的代码只是标准的,我没有写任何东西。

根据this example,它应该可以工作,但不知道我错过了什么。

我想使用像这样的局部视图

@await Html.PartialAsync("~/Pages/Shared/_HomeBanners.cshtml")

所以从数据库中显示数据的所有逻辑都可以放在局部视图中,这就是我们过去在 asp.net 表单用户控件中所做的。

【问题讨论】:

  • 请务必包含您的控制器代码或视图代码,它们会调用模型并将其传递给视图/部分视图。
  • 我没有从控制器中获取任何东西,只是传递了一个硬编码的字符串。

标签: asp.net-mvc model asp.net-core-mvc


【解决方案1】:

请注意,部分页面没有@page 指令。要解决此问题,您可以从 _HomeBanners.cshtml 页面的内容中删除 @page 指令。

_HomeBanners.cshtml 页面

@model string

<h1>Count = @Model</h1>

主页

@page
@model YourPageModel


@await Html.PartialAsync("~/Pages/Shared/_HomeBanners.cshtml", "125")

测试结果

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多