TextBox.ReadOnly Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví hodnotu určující, zda lze obsah TextBox ovládacího prvku změnit.
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
Hodnota vlastnosti
true pokud nelze změnit obsah TextBox ovládacího prvku; falsev opačném případě . Výchozí hodnota je false.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak použít ReadOnly vlastnost, aby se zabránilo změnám textu zobrazeného v ovládacím TextBox prvku.
Důležité
Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že vstup uživatele neobsahuje skripty ani elementy HTML. Další informace naleznete v tématu Přehled zneužití skriptů.
<%@ 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>
Poznámky
ReadOnly Pomocí vlastnosti určete, zda lze obsah TextBox ovládacího prvku změnit. Nastavením této vlastnosti true zabráníte uživatelům v zadání hodnoty nebo změně existující hodnoty. Všimněte si, že uživatel TextBox ovládacího prvku nemůže tuto vlastnost změnit, pouze vývojář může.
Důležité
Hodnota TextTextBox ovládacího prvku s vlastností nastavenou ReadOnly na true server je odeslána na server, když dojde k zpětnému odeslání, ale server nezpracovává pro textové pole jen pro čtení. Zabráníte tak uživateli se zlými úmysly změnit Text hodnotu, která je určená jen pro čtení. Hodnota Text vlastnosti je zachována ve stavu zobrazení mezi postbacky, pokud není upraveno kódem na straně serveru.
Tuto vlastnost nelze nastavit motivy ani motivy šablon stylů. Další informace najdete v tématu ThemeableAttribute a ASP.NET Motivy a skiny.