Skip to main content

SignIn_SignUp in Asp.net Mvc

Models:

SignUp Class:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;

namespace Signin_Signup.Models
{
    [Table("tbl_account")]
    public class SignUp
    {
        public int id { get; set; }
        public string name { get; set; }
        public string email { get; set; }
        public string password { get; set; }
    }

}



DB Class:

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace Signin_Signup.Models
{
    public class db:DbContext
    {
        public DbSet<SignUp> signups { get; set; }
    }

}


User Controller:

using Signin_Signup.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Signin_Signup.Controllers
{
    public class UserController : Controller
    {
        db obj = new db();
        // GET: User
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult Signup()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Signup(SignUp model)
        {
            SignUp s = new SignUp();
            s.name = model.name;
            s.email = model.email;
            s.password = model.password;
           
                obj.signups.Add(s);
                obj.SaveChanges();
            
           
           
            return RedirectToAction("Signin");
        }
        public ActionResult Signin()
        {
            return View();
        }


        [HttpPost]
        public ActionResult Signin(SignUp model)
        {
            SignUp s = obj.signups.Where(x => x.email.Equals(model.email) && x.password.Equals(model.password)).SingleOrDefault();
            if (s!=null)
            {
                return RedirectToAction("UserDashboard");
            }
            else
            {
                ViewBag.msg = "Invalid Email/Password";
            }
            return View();
        }
        public ActionResult UserDashboard()
        {
            return View();
        }
    }

}



Views:

SignIn.cshtml:

@model Signin_Signup.Models.SignUp

@{
    ViewBag.Title = "Signin";
}

<h2>Signin</h2>


@using (Html.BeginForm()) 
{
    @Html.AntiForgeryToken()
    
    <div class="form-horizontal">
     
       
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.email, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.email, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.email, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.password, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.password, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.password, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Create" class="btn btn-default" />
            </div>
        </div>
   @ViewBag.msg
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>

<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>






SignUp.cshtml:

@model Signin_Signup.Models.SignUp

@{
    ViewBag.Title = "Signup";
}

<h2>Signup</h2>


@using (Html.BeginForm()) 
{
    @Html.AntiForgeryToken()
    
    <div class="form-horizontal">
        <h4>SignUp</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        <div class="form-group">
            @Html.LabelFor(model => model.name, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.name, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.name, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.email, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.email, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.email, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.password, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.password, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.password, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Create" class="btn btn-default" />
            </div>
        </div>
    </div>
}
@ViewBag.msg1
<div>
    @Html.ActionLink("Back to List", "Index")
</div>

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>



UserDashboard.cshtml:


@{
    ViewBag.Title = "UserDashboard";
}

<h2>UserDashboard</h2>


Then Make a Connection with your database and after successfully make connection , just add this line to your Web.config file:

<add name="dbContext" connectionString="Data Source=DESKTOP-UTTQQQ1;Initial Catalog=LockDownExample;Integrated Security=True" providerName="System.Data.SqlClient" />



Note:
Name = "Could be anything"
connectionString = "database connection"

Comments