Member 14625950 Ответов: 0

Как пройти регистрацию на стороне клиента в ASP.NET ядро MVC?


Я реализовал простой логин и регистрацию на стороне клиента.

В asp.net core mvc применяет первый подход кодирования, но как зарегистрировать пользователя и вставить запись в базу данных??



Startup.Cs

public void ConfigureServices(IServiceCollection services)
{ 
       //adding this line
         services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
            services.AddDbContext<dbcontext>(options => options.UseSqlServer(Configuration.GetConnectionString("sqlconne")));

   public void Configure(IApplicationBuilder app, IHostingEnvironment env)
   {
      //adding this line
       app.UseAuthentication(); // I think it is client side user registration??
     }


dbcontext.cs

  public class dbcontext : DbContext
    {
        public dbcontext(DbContextOptions<dbcontext> options) : base(options)
        {
        }

        public DbSet<Student> stud{ get; set; }
    }
student.cs

public class Student
    {
         [Key]
        public int StudentId { get; set; }

        public string FirstName { get; set; }

        public string LastName { get; set; }

        public string EmailId { get; set; }

        public string Password { get; set; }
    }

RegisterController.cs

namespace CrudWithoutEf.Controllers
{
    public class RegisterController : Controller
    {
        private readonly UserManager<dbContextClass> _userManager;

        public SignInManager<dbContextClass> _signInManager;

        public RegisterController(UserManager<dbContextClass> userManager, SignInManager<dbContextClass> signInManager)
        {
            _userManager = userManager;
            _signInManager = signInManager;
        }

        [HttpGet]
        public IActionResult Register()
        {
            return View();
        }

        [HttpPost]
        public async Task<IActionResult> Register(dbContextClass mb)
        {
            if (ModelState.IsValid)
            {
                //error is dbcontent class is not contain username and password //here i m writing Identity user then give an error 
                var user = new dbContextClass { EmailId = mb.EmailId, Email = mb.Password };  
                //error is dbcontent class is not contain username and password
                var result = await _userManager.CreateAsync(user, mb.Password);  
                if (result.Succeeded)
                {
                    await _signInManager.SignInAsync(user, false);
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }
                }
            }
            return View(mb);
        }
    }
}


ошибка: класс dbcontent не содержит имени пользователя и пароля

Что я уже пробовал:

также я пишу идентификации пользователя,пользователем приложения, но выдаст ошибку??

Patrice T

"но дайте ошибку"
Какое сообщение об ошибке ? - Куда же ?

Member 14625950

@Патрис этой строке получаю сообщение об ошибке : //ошибка класс dbcontent не содержат имя пользователя и пароль //здесь я пишу удостоверение пользователя, то выдаст ошибку
var user = new dbContextClass { EmailId = mb.EmailId, Email = mb.Password };
//ошибка заключается в том, что класс dbcontent не содержит имени пользователя и пароля
ВАР результат = ждут _userManager.CreateAsync(пользователь, Мб.пароль);

Richard Deeming

Копирование и вставка точное сообщение об ошибке.

Richard Deeming

Кроме того, вы не показали определение dbContextClass класс.

Member 14625950

@Richard Deeming когда я иду к курсору на EmailId, то показываю сообщение об ошибке dbcontextclass не содержит определения для emailid?

0 Ответов