国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

MVC4制作網站教程第二章 用戶密碼修改2.3

來源:懂視網 責編:小采 時間:2020-11-27 22:36:41
文檔

MVC4制作網站教程第二章 用戶密碼修改2.3

MVC4制作網站教程第二章 用戶密碼修改2.3:一用戶 1.1用戶注冊 1.2用戶登錄 1.3修改密碼 修改密碼會用到一個UserChangePassword 模型類,先添加UserChangePassword類 /// <summary> /// 用戶修改密碼模型 /// </summary> [NotMapped] publi
推薦度:
導讀MVC4制作網站教程第二章 用戶密碼修改2.3:一用戶 1.1用戶注冊 1.2用戶登錄 1.3修改密碼 修改密碼會用到一個UserChangePassword 模型類,先添加UserChangePassword類 /// <summary> /// 用戶修改密碼模型 /// </summary> [NotMapped] publi

一用戶
1.1用戶注冊 
1.2用戶登錄 
1.3修改密碼 

修改密碼會用到一個UserChangePassword 模型類,先添加UserChangePassword類 

/// <summary>
 /// 用戶修改密碼模型
 /// </summary>
 [NotMapped]
 public class UserChangePassword
 {
 /// <summary>
 /// 原密碼
 /// </summary>
 [Display(Name = "原密碼")]
 [Required(ErrorMessage = "×")]
 [StringLength(20, MinimumLength = 6, ErrorMessage = "×")]
 [DataType(DataType.Password)]
 public string Password { get; set; }
 /// <summary>
 /// 新密碼
 /// </summary>
 [Display(Name = "新密碼", Description = "6-20個字符。")]
 [Required(ErrorMessage = "×")]
 [StringLength(20, MinimumLength = 6, ErrorMessage = "×")]
 [DataType(DataType.Password)]
 public string NewPassword { get; set; }
 /// <summary>
 /// 確認密碼
 /// </summary>
 [Display(Name = "確認密碼", Description = "再次輸入密碼。")]
 [Compare("NewPassword", ErrorMessage = "×")]
 [DataType(DataType.Password)]
 public string ConfirmPassword { get; set; }
 }

用到了數據庫的更新,先打開UserRepository.cs 修改Update函數

/// <summary>
 /// 更新用戶信息
 /// </summary>
 /// <param name="user"></param>
 /// <returns></returns>
 public override bool Update(User user)
 {
 dbContext.Users.Attach(user);
 dbContext.Entry<User>(user).State = System.Data.EntityState.Modified;
 if (dbContext.SaveChanges() > 0) return true;
 else return false;
 }

在修改密碼時需要查出用戶信息并更新,需要添加Find(string UserName) 函數 

/// <summary>
 /// 查找用戶
 /// </summary>
 /// <param name="UserName">用戶名</param>
 /// <returns></returns>
 public User Find(string UserName)
 {
 return dbContext.Users.SingleOrDefault(u => u.UserName == UserName);
 }

好了打開UserController,添加ChangePassword Action 

/// <summary>
 /// 修改密碼
 /// </summary>
 /// <returns></returns>
 [UserAuthorize]
 public ActionResult ChangePassword()
 {
 return View();
 }
 [HttpPost]
 [UserAuthorize]
 public ActionResult ChangePassword()
 {
 return View();
 }

添加強類型(UserChangePassword)視圖,在視圖中添加三個文本框,修改后的視圖代碼 

@model Ninesky.Models.UserChangePassword
@{ 
 ViewBag.Title = "修改密碼";
 Layout = "~/Views/Shared/_Layout.cshtml";
}

<div class="banner">
 <img src="~/Skins/Default/Images/banner.jpg" />
</div>

@using (Html.BeginForm())
{
 @Html.ValidationSummary(true)

 <div class="form">
 <dl>
 <dt>修改密碼</dt>
 <dd>
 <div class="label">@Html.LabelFor(model => model.Password):</div>
 <div class="ctrl">@Html.PasswordFor(model => model.Password)
 @Html.ValidationMessageFor(model => model.Password)
 @Html.DisplayDescriptionFor(model => model.Password)
 </div>
 </dd>
 <dd>
 <div class="label">@Html.LabelFor(model => model.NewPassword):</div>
 <div class="ctrl">@Html.PasswordFor(model => model.NewPassword)
 @Html.ValidationMessageFor(model => model.NewPassword)
 @Html.DisplayDescriptionFor(model => model.NewPassword)
 </div>
 </dd>
 <dd>
 <div class="label">@Html.LabelFor(model => model.ConfirmPassword):</div>
 <div class="ctrl">@Html.PasswordFor(model => model.ConfirmPassword)
 @Html.ValidationMessageFor(model => model.ConfirmPassword)
 @Html.DisplayDescriptionFor(model => model.ConfirmPassword)
 </div>
 </dd>
 <dd>
 <div class="label"></div>
 <div class="ctrl">
 <input type="submit" value="修改密碼" />@Html.ValidationMessage("Message")
 </div>
 </dd>
 </dl>
 <div class="clear"></div>
 </div>
}
@section Scripts {
 @Scripts.Render("~/bundles/jqueryval")
}

修改UserController中[HttpPost]方式的ChangePassword()以實現修改密碼,修改完成的代碼如下: 

[HttpPost]
 [UserAuthorize]
 public ActionResult ChangePassword(UserChangePassword userChangePassword)
 {
 userRsy = new UserRepository();
 if (userRsy.Authentication(UserName, Common.Text.Sha256(userChangePassword.Password)) == 0)
 {
 var _user = userRsy.Find(UserName);
 if (_user == null)
 {
 Error _e = new Error { Title = "修改密碼失敗", Details = "修改密碼時,系統查詢不到用戶信息", Cause = Server.UrlEncode("<li>用戶在修改密碼界面停留的時間過長,登錄信息已失效。</li><li>系統錯誤。</li>"), Solution = Server.UrlEncode("<li>返回<a href='" + Url.Action("ChangePassword", "User") + "'>修改密碼</a>頁面,輸入正確的信息后重新注冊</li><li>聯系網站管理員</li>") };

 return RedirectToAction("Error", "Prompt", _e);
 }
 _user.Password = Common.Text.Sha256(userChangePassword.NewPassword);
 if (userRsy.Update(_user))
 {
 Notice _n = new Notice { Title = "成功修改密碼", Details = "您已經成功修改密碼,請牢記您的新密碼!", DwellTime = 5, NavigationName = "登陸頁面", NavigationUrl = Url.Action("Login", "User") };
 return RedirectToAction("Notice", "Prompt", _n);
 }
 else
 {
 Error _e = new Error { Title = "修改密碼失敗", Details = "修改密碼時,更新數據庫失敗!", Cause = Server.UrlEncode("<li>系統錯誤。</li>"), Solution = Server.UrlEncode("<li>返回<a href='" + Url.Action("ChangePassword", "User") + "'>修改密碼</a>頁面,輸入正確的信息后重新注冊</li><li>聯系網站管理員</li>") };
 return RedirectToAction("Error", "Prompt", _e);
 }
 }
 else
 {
 ModelState.AddModelError("Password", "原密碼不正確,請重新輸入");
 return View();
 }
 
 }

在上面的代碼中用到了一個UserName屬性,這個是在UserController添加的屬性用于返回Cookie中保存的用戶名 

/// <summary>
 /// 獲取用戶名
 /// </summary>
 public string UserName { 
 get {
 HttpCookie _cookie = Request.Cookies["User"];
 if (_cookie == null) return "";
 else return _cookie["UserName"];
 }
 }

好了,瀏覽器中預覽一下

 

測試一下,OK,大功告成!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

MVC4制作網站教程第二章 用戶密碼修改2.3

MVC4制作網站教程第二章 用戶密碼修改2.3:一用戶 1.1用戶注冊 1.2用戶登錄 1.3修改密碼 修改密碼會用到一個UserChangePassword 模型類,先添加UserChangePassword類 /// <summary> /// 用戶修改密碼模型 /// </summary> [NotMapped] publi
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美日韩精品免费一区二区三区 | 国产一二区视频 | 欧美精品亚洲精品日韩专区va | 日韩视频免费 | 国偷自产一区二区免费视频 | 欧美亚洲综合网 | 精品国产日韩亚洲一区91 | 视频精品一区二区 | 国产高清免费在线观看 | 香港经典a毛片免费观看…伊人色综合久久 | 在线观看日韩欧美 | 国产3区| 精品久久久久久国产牛牛app | 欧美精品一区二区三区免费 | 永久免费观看的毛片的网站下载 | 一区精品麻豆经典 | 激情综合网站 | 日本不卡视频一区二区三区 | 在线v片 | 久久国产精品成人免费古装 | 99久久国产综合精品成人影院 | 国产一级自拍 | 精品国产一区二区三区在线 | 97伊人网| 国产一区二区在线视频 | 九九久久99综合一区二区 | 国产青草视频在线观看 | 国产一区二区精品久久凹凸 | 亚洲好骚综合 | 黑人操穴| 国产在线播放一区 | 亚洲a∨精品一区二区三区下载 | 亚洲三级电影在线 | 高清精品一区二区三区一区 | 国产精品久久久久久久久久久久 | 欧美第一页在线 | 在线观看精品一区 | 欧美瑟图 | 日韩欧美国产另类 | 中国一级全黄的免费观看 | 在线播放一区二区三区 |