MVC登录案例

1.在Controllers文件夹里面新建一个控制器HomeController;
2.在默认的Index方法里面添加一个视图,名字跟Controller中的方法名一样叫Index,添加后的视图文件会在Views文件夹Home下面,名字为:Index.cshtml,Home文件夹会自动添加;
3.打开视图文件Index.cshtml,添加如下html代码:
@Html.ActionLink("登录","Login","Home")等价于<a href="/Home/Login">登录</a>
4.设置Web.config配置文件,在connectionStrings节点下添加:
<add name="connstr" connectionString="server=PC-888;user id=sa;password=123;database=sy" />
5.在Model层添加一个类UsersModel.cs,用于访问数据库的数据,代码如下:
访问前先编写SQLHelper

public int UsersLogin(string username,string password)
{
    int r = (int)SQLHelper.ExecuteScalar("select count(*) from Users where username=@username and password=@password",
        new SqlParameter { ParameterName = "@username", Value = username },
        new SqlParameter { ParameterName = "@password", Value = ProcessHelp.MD5(password) });
    return r;
}

6.在Model层添加一个类ProcessHelp.cs,用于处理常用的数据,代码如下:

public static string MD5(string toCryString)
{
    MD5CryptoServiceProvider hashmd5;
    hashmd5 = new MD5CryptoServiceProvider();
    return BitConverter.ToString(hashmd5.ComputeHash(Encoding.Default.GetBytes(toCryString))).Replace("-", "").ToLower();
}

7.在控制器HomeController.cs下面添加一个方法:

public ActionResult Login(string n)
{
    string username = Request.Form["txtname"];
    string password = Request.Form["txtpwd"];
    //先获取表单的值
    if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
    {
        return View();
    }
    UsersModel users = new UsersModel();
    int r = users.UsersLogin(username, password);
    if (r > 0)
    {
        return Redirect("/TIPTOP/Index");//重定向后的控制器地址,TIPTOP为控制器前面的名字,Index为方法
    }
    return View();
}

8.在控制器HomeController下的方法Login添加一个视图

<form action="/Home/Login" method="post">
    <table>
        <tr>
            <td>用户名:</td><td><input type="text" name="txtname" /></td>
        </tr>
        <tr>
            <td>密码:</td><td><input type="password" name="txtpwd" /></td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" name="btnOK" value="登录" /></td>
        </tr>
    </table>
</form>

等价于:

@using(Html.BeginForm())    
{
    <table>
        <tr><td>用户名:</td><td>@Html.TextBox("txtname")</td></tr>
        <tr><td>密码:</td><td>@Html.Password("txtpwd")</td></tr>
        <tr><td colspan="2"><input type="submit" name="name" value="登录 " /></td></tr>
    </table>
}
原文地址:https://www.cnblogs.com/genesis/p/4813554.html