TextBox.ReadOnly 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,指出是否可變更 TextBox 控制項的內容。
public:
virtual property bool ReadOnly { bool get(); void set(bool value); };
[System.ComponentModel.Bindable(true)]
public virtual bool ReadOnly { get; set; }
[System.ComponentModel.Bindable(true)]
[System.Web.UI.Themeable(false)]
public virtual bool ReadOnly { get; set; }
[<System.ComponentModel.Bindable(true)>]
member this.ReadOnly : bool with get, set
[<System.ComponentModel.Bindable(true)>]
[<System.Web.UI.Themeable(false)>]
member this.ReadOnly : bool with get, set
Public Overridable Property ReadOnly As Boolean
屬性值
如果無法變更 TextBox 控制項的內容,則為 true
,否則為 false
。 預設值是 false
。
- 屬性
範例
下列程式代碼範例示範如何使用 ReadOnly 屬性來防止對控件中顯示的 TextBox 文字進行任何變更。
重要
這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> MultiLine TextBox Example </title>
<script runat="server">
protected void SubmitButton_Click(Object sender, EventArgs e)
{
Message.Text = "Thank you for your comment: <br />" + Comment.Text;
}
protected void Check_Change(Object sender, EventArgs e)
{
Comment.Wrap = WrapCheckBox.Checked;
Comment.ReadOnly = ReadOnlyCheckBox.Checked;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> MultiLine TextBox Example </h3>
Please enter a comment and click the submit button.
<br /><br />
<asp:TextBox ID="Comment"
TextMode="MultiLine"
Columns="50"
Rows="5"
runat="server"/>
<br />
<asp:RequiredFieldValidator
ID="Value1RequiredValidator"
ControlToValidate="Comment"
ErrorMessage="Please enter a comment.<br />"
Display="Dynamic"
runat="server"/>
<asp:CheckBox ID="WrapCheckBox"
Text="Wrap Text"
Checked="True"
AutoPostBack="True"
OnCheckedChanged="Check_Change"
runat="server"/>
<asp:CheckBox ID="ReadOnlyCheckBox"
Text="ReadOnly"
Checked="False"
AutoPostBack="True"
OnCheckedChanged="Check_Change"
runat="server"/>
<asp:Button ID="SubmitButton"
Text="Submit"
OnClick="SubmitButton_Click"
runat="server"/>
<hr />
<asp:Label ID="Message"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> MultiLine TextBox Example </title>
<script runat="server">
Protected Sub SubmitButton_Click(sender As Object, e As EventArgs )
Message.Text = "Thank you for your comment: <br />" + Comment.Text
End Sub
Protected Sub Check_Change(sender As Object, e As EventArgs )
Comment.Wrap = WrapCheckBox.Checked
Comment.ReadOnly = ReadOnlyCheckBox.Checked
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> MultiLine TextBox Example </h3>
Please enter a comment and click the submit button.
<br /><br />
<asp:TextBox ID="Comment"
TextMode="MultiLine"
Columns="50"
Rows="5"
runat="server"/>
<br />
<asp:RequiredFieldValidator
ID="Value1RequiredValidator"
ControlToValidate="Comment"
ErrorMessage="Please enter a comment.<br />"
Display="Dynamic"
runat="server"/>
<asp:CheckBox ID="WrapCheckBox"
Text="Wrap Text"
Checked="True"
AutoPostBack="True"
OnCheckedChanged="Check_Change"
runat="server"/>
<asp:CheckBox ID="ReadOnlyCheckBox"
Text="ReadOnly"
Checked="False"
AutoPostBack="True"
OnCheckedChanged="Check_Change"
runat="server"/>
<asp:Button ID="SubmitButton"
Text="Submit"
OnClick="SubmitButton_Click"
runat="server"/>
<hr />
<asp:Label ID="Message"
runat="server"/>
</form>
</body>
</html>
備註
ReadOnly使用屬性來指定控件的內容TextBox是否可以變更。 將此屬性設定為 true
可防止使用者輸入值或變更現有的值。 請注意,控件的使用者 TextBox 無法變更此屬性;只有開發人員可以。
重要
發生Text回傳時,屬性設定為 true
的TextBox控件ReadOnly值會傳送至伺服器,但伺服器不會處理只讀文本框。 這可防止惡意用戶變更 Text 唯讀的值。 除非伺服器端程式代碼修改,否則屬性的值 Text 會保留在回傳之間的檢視狀態中。
這個屬性無法由佈景主題或樣式表主題設定。 如需詳細資訊,請參閱 ThemeableAttribute 和 ASP.NET 主題和外觀。