一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - ASP.NET教程 - Asp.Mvc 2.0實(shí)現(xiàn)用戶登錄與注銷功能實(shí)例講解(2)

Asp.Mvc 2.0實(shí)現(xiàn)用戶登錄與注銷功能實(shí)例講解(2)

2019-12-19 13:15zx13525079024 ASP.NET教程

這篇文章主要介紹了Asp.Mvc 2.0實(shí)現(xiàn)用戶登錄與注銷功能,用戶登錄方式都是FORM表單驗(yàn)證方式,感興趣的小伙伴們可以參考一下

這一節(jié)講解下ASP.MVC 2.0的用戶登錄與注銷功能,先講登錄,后說注銷。我們這個(gè)系列講的用戶登錄方式都是FORM表單驗(yàn)證方式。在講之前先給大家說下<%:%>的功能,<%:%>與<%=%>功能一樣,用來動(dòng)態(tài)輸出內(nèi)容。
一、登錄
1. 建立MODEL
登錄的時(shí)候,我們一般只要驗(yàn)證用戶名和密碼,還有是否保存登錄COOKIE,所以我們建立一個(gè)MODEL登錄類,只需包括3個(gè)字段就可以。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/// <summary>
 /// 用戶登錄MODEL
 /// </summary>
 public class Login
 {
  
  /// <summary>
  /// 用戶名
  /// </summary>
  [DisplayName("用戶名")]
  public string UserName
  {
   get;
   set;
  }
 
  /// <summary>
  /// 密碼
  /// </summary>
  [DisplayName("密碼")]
  public string UserPwd
  {
   get;
   set;
  }
 
  /// <summary>
  /// 是否保存COOKIE
  /// </summary>
  [DisplayName("記住我")]
  public bool RememberMe
  {
   get;
   set;
  }

2.建立VIEW頁(yè)面
同樣登錄的VIEW頁(yè)面,同樣建立一個(gè)強(qiáng)類型的頁(yè)面,之所以喜歡建立強(qiáng)類型的頁(yè)面,是因?yàn)轫?yè)面和MODEL相關(guān)聯(lián),在頁(yè)面中直接可以使用MODEL。此時(shí)頁(yè)面的視圖數(shù)據(jù)類應(yīng)選擇MvcLogin.Models.Login。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcLogin.Models.Login>" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
 <title>Login</title>
</head>
<body>
<div style="font-size:15pt;color:Red;">
 <%if (ViewData["msg"] != null)
 {%>
 <%:ViewData["msg"].ToString()%>
 <%} %>
</div>
 <div>
 <%Html.BeginForm();%>
  
 <table>
  <tr>
  <td></td>
  <td>用戶登錄</td>
  </tr>
  
  <tr>
  <td><%:Html.LabelFor(m=>m.UserName) %></td>
  <td><%:Html.TextBoxFor(m=>m.UserName)%></td>
  </tr>
 
   <tr>
  <td><%:Html.LabelFor(m=>m.UserPwd) %></td>
  <td><%:Html.PasswordFor(m=>m.UserPwd) %></td>
  </tr>
 
   <tr>
  <td><%:Html.LabelFor(m=>m.RememberMe) %></td>
  <td><%:Html.CheckBoxFor(m=>m.RememberMe) %></td>
  </tr>
 
 <tr>
  <td></td>
  <td><input type="submit" value="登錄" /></td>
  </tr>
 </table>
 <%Html.EndForm(); %>
 </div>
</body>
</html>

Html.CheckBoxFor用來生成一個(gè)復(fù)選框按鈕
3.建立controller
同樣我們?cè)赾ontroller中建立兩個(gè)login方法,一個(gè)用來展現(xiàn)頁(yè)面,一個(gè)用來點(diǎn)擊登錄按鈕后判斷用戶名和密碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public ActionResult Login()
  {
   return View();
  }
 
  [HttpPost]
  public ActionResult Login(Models.Login model)
  {
   if (new Models.SqlHelper().UserLogin(model))
   {
    //如果用戶名存在,轉(zhuǎn)向主頁(yè)
    FormsService.SignIn(model.UserName,model.RememberMe);
    return RedirectToAction("index");
   }
   else
   {
    //登錄失敗,轉(zhuǎn)向登錄頁(yè)面
    ViewData["msg"] = "登錄失敗";
    return View(model);
   }
 
   
  }

第二個(gè)Login方法前面有HTTPPOST屬性,所以只能接受POST請(qǐng)求
4.SQLHELPER中添加判斷用戶名和密碼的方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/// <summary>
  /// 判斷用戶登錄是否成功
  /// </summary>
  /// <param name="model"></param>
  /// <returns></returns>
  public bool UserLogin(Login model)
  {
   strUserExist = string.Format(strUserExist, model.UserName, model.UserPwd);
   SqlConnection con = new SqlConnection(conStr);
   con.Open();
   SqlCommand cmd = new SqlCommand(strUserExist, con);
   SqlDataAdapter adp = new SqlDataAdapter(cmd);
   DataSet ds = new DataSet();
   adp.Fill(ds);
   con.Close();
   if (ds != null && ds.Tables[0].Rows.Count > 0)
   {
    return true;
   }
   return false;
  }

5.運(yùn)行登錄頁(yè)面
此時(shí)我們?cè)陧?yè)面中輸入U(xiǎn)RL,就會(huì)轉(zhuǎn)向登錄頁(yè)面,
效果如下:

Asp.Mvc 2.0實(shí)現(xiàn)用戶登錄與注銷功能實(shí)例講解(2)

點(diǎn)擊登錄,登錄成功后轉(zhuǎn)向首頁(yè),登錄失敗返回本頁(yè)面,并顯示提示信息。
點(diǎn)擊登錄的時(shí)候,是POST提交方式,會(huì)調(diào)用publicActionResult Login(Models.Login model)方法。
登錄失敗頁(yè)面如下

Asp.Mvc 2.0實(shí)現(xiàn)用戶登錄與注銷功能實(shí)例講解(2)

登錄成功頁(yè)面如下

Asp.Mvc 2.0實(shí)現(xiàn)用戶登錄與注銷功能實(shí)例講解(2)

二.注銷
登錄成功后,轉(zhuǎn)向首頁(yè),在首頁(yè)上我們會(huì)生成注銷連接。

?
1
2
3
4
5
6
7
8
9
10
11
12
<p style="font-size:15pt; color:Red;">
 <%if (Request.IsAuthenticated)
  {%>
  歡迎您<%:Page.User.Identity.Name%>!
  
  <%:Html.ActionLink("注銷", "LoginOff")%>
  <%}
  else
  {%>
  <%:Html.ActionLink("登錄", "Login")%>
  <%} %>
 </p>

這里介紹下Html.ActionLink方法,
Html.ActionLink用來生成一個(gè)鏈接,第一個(gè)參數(shù)代表鏈接的問題,第二個(gè)參數(shù)代表的是actionname,可以理解為鏈接的頁(yè)面。

由以上代碼可以看出,注銷鏈接指向LoginoFF.,也就是controller中的loginoff action方法,所以我們?cè)赾ontroller中添加一個(gè)一個(gè)loginoff方法,執(zhí)行完loginoff方法后,會(huì)轉(zhuǎn)向INDEX首頁(yè)
 

?
1
2
3
4
5
6
7
8
9
<span style="font-family:Microsoft YaHei;font-size:16px;"> </span>/// <summary>
  /// 用戶注銷
  /// </summary>
  /// <returns></returns>
  public ActionResult LoginOff()
  {
   FormsService.SignOut();
   return RedirectToAction("index");
  }

 

以上就是Asp.Mvc 2.0實(shí)現(xiàn)用戶登錄與注銷功能實(shí)例講解,大家可以在自己的網(wǎng)站上進(jìn)行實(shí)踐了,希望在此基礎(chǔ)上可以有所創(chuàng)新和完善。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人在线影院 | 99久久国产综合精品网成人影院 | 美女跪式抽搐gif动态图 | 国产精品亚洲午夜不卡 | 国产欧美曰韩一区二区三区 | 麻豆资源| 天堂8在线天堂bt | 国产精品99久久久 | 农夫69小说小雨与农村老太 | 亚洲免费视频一区 | 美女班主任下面好爽好湿好紧 | 变形金刚第一部 | 美女福利视频网站 | re99| 欧美午夜寂寞影院安卓列表 | 国产肥老上视频 | 女人用粗大自熨喷水在线视频 | 成人免费视频一区二区三区 | 成年人在线观看视频 | 不卡视频一区二区 | 国产高清在线视频一区二区三区 | 成人免费观看在线视频 | 美女下面揉出水免费视频 | 911福利视频| 日韩欧美一卡二区 | 双性双根 | 国产一区二区三区福利 | 国产成人在线视频播放 | 99这里只有精品视频 | 欧美丝袜videohd| 99精品在线视频 | 欧美一级艳片视频免费观看 | 男人天堂影院 | 国产亚洲综合成人91精品 | 亚洲第一天堂网 | 星星动漫无删减在线观看 | 久草在在线免视频在线观看 | 日韩在线免费看 | 国产精品刺激好大好爽视频 | 九九国产在线观看 | 4虎影院永久地址www |