asp:TextBox ReadOnly=true or Enabled=false?

2019-01-13 14:25发布

问题:

What's the difference between the Enabled and the ReadOnly-properties of an asp:TextBox control?

回答1:

If a control is disabled it cannot be edited and its content is excluded when the form is submitted.

If a control is readonly it cannot be edited, but its content (if any) is still included with the submission.



回答2:

Another behaviour is that readonly = 'true' controls will fire events like click, buton Enabled = False controls will not.



回答3:

Readonly will not "grayout" the textbox and will still submit the value on a postback.



回答4:

Think about it from the browser's point of view. For readonly the browser will send in a variable/value pair. For disabled, it won't.

Run this, then look at the URL after you hit submit:

<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>


回答5:

Readonly textbox in Asp.net

<asp:TextBox ID="t" runat="server" Style="margin-left: 20px; margin-top: 24px;"
Width="335px" Height="41px" ReadOnly="true"></asp:TextBox>


回答6:

Readonly will allow the user to copy text from it. Disabled will not.



回答7:

I have a child aspx form that does an address lookup server side. The values from the child aspx page are then passed back to the parent textboxes via javascript client side.

Although you can see the textboxes have been changed neither ReadOnly or Enabled would allow the values to be posted back in the parent form.