Ошибка бритвы: не содержит определения для - PullRequest
0 голосов
/ 30 апреля 2019

Я новичок в Razor, просто не могу запустить образец, скопированный из: 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 \ Pages \ Index.cshtml

IndexModel не содержит определения для сообщения и нет метод расширения «Сообщение», принимающий первый аргумент типа 'IndexModel' может быть найден (вы пропустили директиву using или сборка ссылка?) + @ Model.Message

1 Ответ

0 голосов
/ 30 апреля 2019

Наиболее распространенный случай получения этой ошибки:

  1. Запуск программы без отладчика
  2. Добавление свойства в файл cs страницы Razor и аналогичное изменение в файле cshtml
  3. Обновите страницу и получите эту ошибку

Обычно случается, что возникает ошибка компиляции, и приложение только что не смогло скомпилировать.Может показаться глупым, но убедитесь, что ваше приложение действительно собирается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...