Как изменить пользовательский интерфейс asp.net для ядра Web-интерфейса asp.net с помощью angular - PullRequest
1 голос
/ 08 октября 2019

Я начал изучать ядро ​​.net несколько дней назад, и для начала я создал проект .netcore со встроенными угловыми 8 шаблонами.

Он имеет несколько встроенных угловых страниц, таких как счетчик и извлекает данные и т. Д., Но все страницы, связанные с идентификацией (логин, регистрация и т. Д.), Поступают в виде простого HTML-кода из серверной части. Итак, «моя главная проблема - внести некоторые изменения в пользовательский интерфейс на этой странице».

Я обнаружил, что идентификатор был добавлен в библиотеку классов и, следовательно, не виден в коде бэкэнда. и чтобы внести в него изменения, мне нужно сначала добавить его в код, заново создав его с помощью скаффолдинга. это заменит предыдущий код библиотеки и может быть изменен в соответствии с требованием.

Поэтому я выбрал добавить новый элемент скаффолдинга -> идентичность. и выбрал «переопределить все файлы» в первой попытке и «account \ login» и «account \ register» только во второй попытке, и applicationdbcontext для dbcontext. но, к сожалению, ни у меня не получилось.

Когда я пытаюсь построить код, я получаю эту ошибку

Error   CS0246  The type or namespace name 'IWebHostEnvironment' could not be found (are you missing a using directive or an assembly reference?)   

C:\Users\MyUserName\source\repos\MyProjectName\obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.cs   448

Я действительно не знаю, что такое расширение .g.cs, нетоператор import на этой странице и какой-то странный код, который я никогда раньше не видел. Сама страница также не показывает никакой ошибки / красной маркировки.

Здесь я хочу достичь двух вещей:

1) полностью использовать приложение .net core в качестве API, я хочу создать пользовательский интерфейс для всего, что связано с входом, в самом angular, а не получатьв виде HTML-кода с серверной части.

2) добавление еще нескольких полей в форму входа пользователя. и так как это первый подход кода, то в конечном итоге вносит изменения в пользователей DBSet (что я не знаю, как сделать в этом случае).

Я не добавил ни одного примера кода, так как это своего рода прямая проблема / вопрос. Чтобы воспроизвести проблему, просто создайте проект в .net core 3.0 и возьмите угловые 8 шаблонов. Теперь попробуйте внести изменения, связанные с пользовательским интерфейсом, на странице входа или регистрации.

1 Ответ

1 голос
/ 11 октября 2019

Досадно, что этот фрагмент, который не нужен в макете для проекта по умолчанию, живет там.
Попробуйте удалить этот импорт, и приложение по умолчанию с пользовательским интерфейсом scaffolded будет работать нормально.

Я хотел добавить несколько стилей для страницы входа, что немного скучно.

Что я сделал?
+ создал ядро ​​ASP.NETвеб-приложение с шаблоном Angular and Authentication (Индивидуальные учетные записи пользователей) (из Visual Studio 2019).
+ Добавить новый элемент лесов -> Идентичность enter image description here
+ Выполнены шаги из ScaffoldingReadme.txtфайл (некоторые шаги уже содержат фрагменты в правильном месте и не требуют никаких дополнений)
+ Удалите строку @inject IWebHostEnvironment Environment и Microsoft.AspNetCore.Hosting со страницы _Layout.cshtml;
+ ГОТОВ, чтобы увидеть РЕЗУЛЬТАТ :)

enter image description here

...