Bence şu bit adres HTML.TextBoxFor: Ben person.PersonnelId kontrol ederkenBen engelli geçmediğine değeri
if (ModelState.IsValid)
{
PersonnelFacade.SavePerson(person);
return RedirectToAction("Index");
}
Şimdi öyle: Bu benim denetleyicisi olarak
@Html.TextBoxFor(model => model.PersonnelId, new { disabled = "disabled" })
var boş. {disabled = "disabled"} öğesini kaldırdığımda iyi çalışıyor, ancak sonra yapmak istediğim kişi olan Personeli değiştiremiyorum.
Neyi yanlış yapıyorum?
Şunları kullanabilirsiniz 'HiddenFor' +' DisplayFor' yerine, ya da sadece zaten ne kadar 'HiddenFor' ekleyin. Her neyse, tarayıcı düzeyinde bu tür korumalara güvenmek mantıklı değil. Herkes, istediği şekilde "PersonnelID" ile değiştirilmiş sahte bir POST sorgusu gönderebilir. – GSerg
Bunların hiçbiri devre dışı bırakılmış metin kutusuyla aynı işlevselliği sunuyor mu? – Liam
Örneğimde, bunu PersonnelId ile kullanıyorum. Ancak aynı şeyi CreationDate için kullanmak istiyorum, bu sayede kullanıcılar ne zaman oluşturulduğunu veya son değişiklik yapıldığında görüntülenmek üzere ModificationDate'i görebilir. DisplayFor değeri iletmez. HiddenFor, gerçekten görmek istemediğiniz için PersonnelId için kullanabilirim. Ancak CreationDate veya ModificationDate için kullanamıyorum çünkü bunlar görüntülenmelidir. –