2011-05-03 96 views
9

在ASP文件我有兩個ASP:文本框ASP:文本框只讀

<asp:TextBox ID="textValue" runat="server" Width="100px"/> 
<asp:TextBox ID="textValue2" runat="server" Width="100px" ReadOnly="true"/> 

然後我將通過JavaScript獲得

<asp:TextBox ID="textValue" runat="server" Width="100px" value="aaa"/> 
<asp:TextBox ID="textValue2" runat="server" Width="100px" ReadOnly="true" value="bbb"/> 

值,但刷新網頁時終於得到

<asp:TextBox ID="textValue" runat="server" Width="100px" value="aaa"/> 
<asp:TextBox ID="textValue2" runat="server" Width="100px" ReadOnly="true"/> 

爲什麼值bbb是「丟失」?我怎樣才能避免這種情況?

+1

如何設置值爲只讀文本框 – 2011-05-03 13:30:30

+1

使用JavaScript。一個典型的例子是日曆+輸入文本。 – 2011-05-03 13:49:34

回答

10

「bbb」被重新發布,但.NET不會從回發數據中填充只讀文本框。您可以自己從Page_Load()方法抓住了表單數據手動填充文本框,如下所示:

textValue2.Text = Request.Form[textValue2.UniqueID];

0

我認爲,而不是隻讀,將您的值設置爲文本框,然後禁用它。

2
<asp:TextBox ID="textValue2" runat="server" Width="100px" ReadOnly="true"/> 

你缺少一個引號前「真」,則可能會導致問題。

+0

我寫這個問題時出錯。現在編輯,謝謝 – 2011-05-03 13:47:49

7

從文本框中刪除服務器端屬性 - ReadOnly - 並從代碼中設置HTML屬性。您將能夠訪問該值,然後在回發:

textValue2.Attributes.Add("readonly","readonly");