PDA

View Full Version : سوال: استفاده از diplayfor به جای textboxfor بخاطر فقط نماشی دادن مقدار . لطفا"راهنمایی کنید.



RIG000
پنج شنبه 17 مهر 1393, 20:57 عصر
وقتی من به جای textboxfor از displayfor استفاده می کنم و در حالی که validation گذاشتم برای فیلد های فقط به فیلد های dipalyfor گیر میده که مقدار ایمیل و نام کاربری را وارد کنید.! در صورت که من اطلاعات رو select کردم و نمایش میدم و displayfor ها مقدار دارن. دلیل این که از display استفاده کردم بخاطر اینکه که کاربر نتونه اینا رو ویرایش کنه .

<tr>
<td>@Html.TextBoxFor(model => model.PersonPassword, new { @class = "text-center" })</td>
<td>@Html.TextBoxFor(model => model.Mobile, new { @class = "text-center" }) </td>
<td>@Html.TextBoxFor(model => model.Email, new { @class = "text-Center"})</td>
<td>@Html.TextBoxFor(model => model.PersonUserName, new { @class = "text-center" }) @Html.HiddenFor(model => model.PersonId)</td>
</tr>
<tr>
<td>
@Html.ValidationMessageFor(model => model.PersonUserName)
@Html.ValidationMessageFor(model => model.PersonPassword)
@Html.ValidationMessageFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Mobile)
</td>
</tr>
و

public int PersonId { get; set; }
[Required(ErrorMessage = "نام کاربری را وارد کنید")]
public string PersonUserName { get; set; }
[Required(ErrorMessage = "پسورد را وارد کنید")]
[DataType(DataType.Password)]
public string PersonPassword { get; set; }
public string PersonDate { get; set; }
[Required(ErrorMessage = "ایمیل را وارد کنید")]
//[DataType(DataType.EmailAddress)]
//[RegularExpression(@"[A-Za-z0-9._%+-]+[A-Za-z0-9.-]+\.[A-Za-z] {2,4}", ErrorMessage = "ایمیل را درست وارد کنید")]
[RegularExpression(@"^([0-9a-zA-Z]([\+\-_\.][0-9a-zA-Z]+)*)+@(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]*\.)+[a-zA-Z0-9]{2,3})$", ErrorMessage = "ایمیل را درست وارد کنید")]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required(ErrorMessage = "موبایل را وارد کنید")]
[MinLength(10, ErrorMessage = "تعداد کاراکتر کمتر از حد مجاز است")]
[MaxLength(10, ErrorMessage = "تعداد کاراکتر بیشتر از حد مجاز است")]
[RegularExpression(@"^(?:0)?9\d{9,}$", ErrorMessage = "لطفا یک موبایل معتبر وارد کنید")]
public string Mobile { get; set; }
public virtual ICollection<Message> Messages { get; set; }
public virtual ICollection<ProductSale> ProductSales { get; set; }
و کدی هم که نوشتمواسه کنترلر .


[HttpPost]
public ActionResult Edit(User user)
{

if (ModelState.IsValid)
{
using (var aw = new dbCodenevisEntities2())
{
var c = aw.Users.Where(x => x.PersonId == user.PersonId).FirstOrDefault();
if (c != null)
{

c.PersonPassword = user.PersonPassword;
c.PersonDate = Class.PersianDateTime.PersianDate();
c.Mobile = user.Mobile;
aw.SaveChanges();


int DetaileId = user.PersonId;
return RedirectToAction("Details", "User", new { DetaileId });
}

}


}
var selectuser = (from find in db.Users
where find.PersonId == user.PersonId
select find).FirstOrDefault();
user.PersonUserName = selectuser.PersonUserName;
user.Email = selectuser.Email;
user.PersonId = selectuser.PersonId;
user.Mobile = selectuser.Mobile;
user.PersonPassword = selectuser.PersonPassword;
return View(user);



}
لطفا" این مورد رو کمک کنید