剃刀错误:不包含定义

问题描述 投票:0回答:1

我是一个剃刀新手,只是无法运行样本复制自:https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-2.2&tabs=visual-studio

我的index.cshtml:

@page
@model IndexModel

<h2>Separate page model</h2>
<p>
    @Model.Message
</p>

我的index.cshtml.cs

using Microsoft.AspNetCore.Mvc.RazorPages;
using System;

namespace aspnetcoreapp.Pages
{
    public class IndexModel : PageModel
    {
        public string Message { get; private set; } = "PageModel in C#";

        public void OnGet()
        {
            Message += $" Server time is { DateTime.Now }";
        }
    }
}

但是,当我浏览此页面时,我收到此错误:

在编译处理此请求所需的资源期间发生错误。请查看以下特定错误详细信息并相应地修改源代码。 C:\ TEMP \ aspnetcoreapp \网页\ Index.cshtml

'IndexModel'不包含'Message'的定义,并且没有扩展方法'Message'接受类型'IndexModel'的第一个参数(你是否缺少using指令或汇编引用?)+ @ Model.Message

c# asp.net-mvc asp.net-core razor
1个回答
0
投票

我遇到此错误的最常见情况是:

  1. 不使用调试器运行程序
  2. 将属性添加到R​​azor页面cs文件,然后类似地更改为cshtml文件
  3. 刷新页面并收到此错误

通常发生的是存在编译错误,并且应用程序刚刚编译失败。可能听起来很傻但确保您的应用程序真正构建。

© www.soinside.com 2019 - 2024. All rights reserved.