В чем разница между свойствами Enabled и ReadOnly элемента управления asp:TextBox?
asp:TextBox ReadOnly=true или Enabled=false?
Ответы (7)
Если элемент управления disabled
, его нельзя редактировать, и его содержимое исключается при отправке формы.
Если элементу управления присвоено значение readonly
, его нельзя редактировать, но его содержимое (если оно есть) по-прежнему включается в отправку.
Другое поведение заключается в том, что элементы управления readonly = 'true'
будут запускать события, подобные click
, а элементы управления Enabled = False
— нет.
Только чтение не будет «затенять» текстовое поле и по-прежнему будет отправлять значение при обратной передаче.
Подумайте об этом с точки зрения браузера. Только для чтения браузер отправит пару переменная/значение. Для инвалидов не будет.
Запустите это, затем посмотрите на URL-адрес после того, как вы нажмете «Отправить»:
<html>
<form action=foo.html method=get>
<input name=dis type=text disabled value="dis">
<input name=read type=text readonly value="read">
<input name=normal type=text value="normal">
<input type=submit>
</form>
</html>
Readonly позволит пользователю копировать текст из него. Инвалидов не будет.
Текстовое поле только для чтения в Asp.net
<asp:TextBox ID="t" runat="server" Style="margin-left: 20px; margin-top: 24px;"
Width="335px" Height="41px" ReadOnly="true"></asp:TextBox>
У меня есть дочерняя форма aspx, которая выполняет поиск адреса на стороне сервера. Затем значения с дочерней страницы aspx передаются обратно в родительские текстовые поля через клиентскую часть javascript.
Хотя вы можете видеть, что текстовые поля не были изменены, ни ReadOnly, ни Enabled не позволяют отправлять значения обратно в родительскую форму.