我已經在我看來,以下位:HTML.TextBoxFor禁用不及格值
@Html.TextBoxFor(model => model.PersonnelId, new { disabled = "disabled" })
在我控制我有這樣的:
if (ModelState.IsValid)
{
PersonnelFacade.SavePerson(person);
return RedirectToAction("Index");
}
現在,當我檢查person.PersonnelId是空。 當我刪除{disabled =「disabled」}它工作正常,但我可以更改PersonnelId,這不是我想要做的。
我在做什麼錯?
你可以使用'HiddenFor' +'DisplayFor'代替,或者只是HiddenFor'加上'以你已經擁有。無論如何,在瀏覽器級別依靠這種保護是沒有意義的。任何人都可以發送僞造的POST查詢並將其'PersonnelID'更改爲他們想要的。 – GSerg
這些都不提供與禁用的文本框相同的功能嗎? – Liam
在我的示例中,我將它與PersonnelId一起使用。但是我想爲CreationDate使用相同的內容,因此用戶可以查看創建人員的時間,或者在最後一次更改時顯示ModificationDate。 DisplayFor不會傳遞該值。隱藏的,我可以用於PersonnelId,因爲你不是真的應該看到它。但是我不能將它用於CreationDate或ModificationDate,因爲它們應該被顯示。 –