Very basi c показывает cookie / получает данные из базы данных, в ASP. net MVC Базовое частичное представление - PullRequest
0 голосов
/ 26 апреля 2020

Я уверен, что это основа c, я пытаюсь выучить MVC core (v 3.1) после работы в ASP. NET формах в течение многих лет, и это немного круто Кривая обучения, любая помощь будет высоко ценится.

Я создал базовый веб-сайт c, для каждого зарегистрированного пользователя я хотел бы иметь несколько профилей (например, netflix).

Я застрял на чем-то очень простом c: как получить доступ к базе данных (или даже повару ie) со страницы частичного просмотра.

В папке Controllers у меня теперь есть эта страница GetUserProfileExtension.cs (которая не работает):

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Http;

namespace myMVC.Controllers
{
    public  class GetUserProfileExtension : Controller
    {
         public static string GetUserProfile()
        {
            var Name = HttpContext.Request.Cookies["SelectedUser"];
            return Name;
        }
    }
}

Ошибка: HttpContext подчеркнут и говорит, что «ссылка на объект обязательна»

В моем _LoginPartial.cs html (который отображается в _Layout.cs html - все по умолчанию на этом этапе) Я просто на этом этапе хочу увидеть значение cook ie (которое я установил при создании пользователя, затем создает профиль / выбирает, если их больше одного)

@using Microsoft.AspNetCore.Identity
@inject SignInManager<IdentityUser> SignInManager
@inject UserManager<IdentityUser> UserManager


<h1>@myMVC.Controllers.GetUserProfileExtension.GetUserProfile()</h1>

В идеале сначала хотелось бы увидеть значение cook ie при частичном просмотре. Но следующий шаг. У меня есть таблица ProfilesModels в базе данных - как мне извлечь строку данных из этой таблицы (на основе идентификатора в cook ie) и показать ее в частичном.

Я знаю, что это очень основа c - в ASP. NET формах у меня было бы это менее чем через 3 минуты, но после поиска в Google и чтения руководств в течение 3-4 дней я получаю отчаянный. Заранее спасибо

1 Ответ

0 голосов
/ 28 апреля 2020

Я понял, что лучше использовать вместо этого ViewComponent (https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-components?view=aspnetcore-3.1), который работает очень хорошо.

...