У меня есть страница бритвы с пространством имен вроде MyApp.Pages.MyClass
. На этой странице cs html Я пытаюсь сослаться на перечисление в библиотеке классов с пространством имен, например MyClass.Enums.MyEnum
.
, что приводит к ошибке «Тип или пространство имен не существует»
Может воспроизвести ту же проблему, если мы назовем класс модели страницы как MyClass
, а не MyClassModel
.
namespace MyApp
{
public class MyClass : PageModel
На MyClass.cshtml
странице и ошибка, как показано ниже.
Чтобы исправить это, вы можете переименовать класс модели вашей страницы, например MyClassModel
et c.
Вы также можете попробовать другой подход для создания и используйте вложенное пространство имен, как показано ниже.
namespace MyApp
{
namespace MyAppNestedNamespace
{
public class MyClass : PageModel
{
public void OnGet()
{
//...
}
//...
}
}
}
Страница MyClass.cs html может выглядеть следующим образом:
@page
@model MyAppNestedNamespace.MyClass
@using MyClass.Enums
@{
ViewData["Title"] = "MyClass";
}
<h1>MyClass</h1>
@*your code here*@