0
MVCアプリケーションを作成しています。データベースからデータを取得するときに、変数にNULL値が取得されています。ASP.NET MVCでパスワード機能を変更しました(データベースから値を取得できません)
は、ここに私のパスワード変更ビューコード
@using (Html.BeginForm("Changepassword", "Home", FormMethod.Post))
{
<table class="center">
<tr>
<td>Old Password</td>
<td>
@Html.EditorFor(pass => pass.Password)
</td>
<td>@Html.ValidationMessageFor(pass => pass.Password)</td>
</tr>
<tr class="rowspace">
<td>New Password</td>
<td>
@Html.EditorFor(pass => pass.NewPassword)
</td>
<td>@Html.ValidationMessageFor(pass => pass.NewPassword)</td>
</tr>
<tr class="rowspace">
<td colspan="3" id="button">
<input type="submit" value="Change Password" /></td>
</tr>
<tr class="rowspace"><td colspan="3">@ViewBag.Message</td></tr>
</table>
}
ここでは私のホームコントローラコードがあります。
問題var userDetailがnullを返しています。ブレークポイントを使用してコードをチェックしてデバッグしたときに、login.Emailがデータベースから電子メールを取得せず、nullを返しています。モデルのビューをメールで
public ActionResult Changepassword(tblUser login)
{
using (UserDetailsEntities db = new UserDetailsEntities())
{
var detail = db.tblUsers.Where(log => log.Password == login.Password).FirstOrDefault();
if (detail != null)
{
var userDetail = db.tblUsers.FirstOrDefault(c => c.Email == login.Email);
if (userDetail != null)
{
userDetail.Password = login.NewPassword;
db.SaveChanges();
ViewBag.Message = "Record Inserted Successfully!";
}
else
{
ViewBag.Message = "Password not Updated!";
}
}
}
return View(login);
}
下のコードを確認してください電子メールのために。 – Sachu
そしてあなたは本当に平文(ハッシュされていない)としてあなたのパスワードをデータベースに保存していますか? –
@Sachuあなたはコードで説明することができます....私は非常にMVCとコーディングに新しいです。それは非常に役に立ちます –