سلام من تو صفحه ام رمز عبور و تکرار رمز عبور گذاشتم
بعد از required استفاده کردم درست هم کار میکنه ولی دیگه پسورد تغییر نمیکنه توی دیتابیس و همچنین
بقیه
میشه راهنماییم کنید.
کد اکشن را Trace کنید تا بتونید مشکلرو پیدا کنید
اگر نشد قرار بدید تا منم یه نگاهی بندازیم
ببخشید میشه بگید چجوری trace باید بکنم؟
BreakPoint بزارید . خط به خط بررسی کنید
این کد کنترولر public ActionResult Step4(int id, Guid guid) { if (ModelState.IsValid) { var users = db.Users.Find(id); if (TryUpdateModel(users, "", new string[] { "Password", "UserName" })) { string username = ""; username = users.LastNameL.Substring(0, 3) + users.PersonalCode.Substring(2, 3) + users.UserID; users.UserName = username; db.SaveChanges(); } } return RedirectToAction("Step5", new { id = id, guid = guid }); }
این کد ویو
<div class="col-md-1"> @Html.Label("رمز عبور") </div> <div class="col-md-10"> @Html.EditorFor(model => model.Password, new { htmlAttributes = new { @class = "form-control", @type = "password",@id="password" } }) @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-1"> @Html.Label("تکرار رمز عبور") </div> <div class="col-md-10"> @Html.EditorFor(model => model.ConfirmPassword, new { htmlAttributes = new { @class = "form-control", @type = "password",@id= "repassword" } }) @Html.ValidationMessageFor(model => model.ConfirmPassword, "", new { @class = "text-danger" }) </div>
اینم کلاس مدالم
[Required(ErrorMessage = "*")] public string Password { get; set; } [Required(ErrorMessage = "*")] public string ConfirmPassword { get; set; }
در کدام خط دارید پسورد را بروز میکنید ؟
من کدی در این رابطه نمیبینم
[Required(ErrorMessage = "*")]
این قسمت رو پاک میکنم درسته ولی اینو میزارم دیگه آپدیت نمیکنه
علتش چیه؟
حتما null ارسال میشه
Trace کردید ببینید که مقدار داره یا نه ؟
trace کردم مشکلی نداشت قربان ، یه سوال جای
[Required(ErrorMessage = "*")] public string Password { get; set; } [Required(ErrorMessage = "*")] public string ConfirmPassword { get; set; }
توی کلاس مدالم مهمه کجا باشه؟
مدل درسته
پس چرا آپدیت نمیکنه توی ویو نباید چیزی اضافه کنم؟
@model Iripin.Models.User @{ ViewBag.Title = "Step4"; Layout = "~/Views/Shared/_Layout.cshtml"; } @using (Html.BeginForm()) { @Html.AntiForgeryToken() <div class="form-horizontal"> <div class="form-group"> <div class="col-md-1"> @Html.Label("رمز عبور") </div> <div class="col-md-10"> @Html.EditorFor(model => model.Password, new { htmlAttributes = new { @class = "form-control", @type = "password",@id="password" } }) @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-1"> @Html.Label("تکرار رمز عبور") </div> <div class="col-md-10"> @Html.EditorFor(model => model.ConfirmPassword, new { htmlAttributes = new { @class = "form-control", @type = "password",@id= "repassword" } }) @Html.ValidationMessageFor(model => model.ConfirmPassword, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <input type="submit" value="ثبت" class="btn btn-default" /> </div> </div> </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>
این کد کامل ویومه
کد ویو مشکلی نداره
هرچی هست سمت اکشن هست و من از کدهای شما سر در نمیارم
در این کدها قسمت ویرایشی برای پسورد ندیدم
غیر از پسورد هیچ چیزیو نه آپدیت میکنه نه add میکنه
انگار اجازه ثبت و ویرایش نمیده ولی وقتی required رو ور میدارم درست میشه .
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)