Edit

Share via


TextBox.MaxLength Property

Definition

Gets or sets the maximum number of characters allowed in the text box.

public:
 virtual property int MaxLength { int get(); void set(int value); };
[System.ComponentModel.Bindable(true)]
public virtual int MaxLength { get; set; }
[System.Web.UI.Themeable(false)]
public virtual int MaxLength { get; set; }
[<System.ComponentModel.Bindable(true)>]
member this.MaxLength : int with get, set
[<System.Web.UI.Themeable(false)>]
member this.MaxLength : int with get, set
Public Overridable Property MaxLength As Integer

Property Value

The maximum number of characters allowed in the text box. The default is 0, which indicates that the property is not set.

Attributes

Exceptions

The specified width is less than 0.

Examples

A Visual Studio Web site project with source code is available to accompany this topic: Download.

The following code example demonstrates how to use the TextBox control to get user input. When the user clicks the Add button, the sum of the values entered in the text boxes is displayed.

Important

This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.

<%@ Page Language="C#" AutoEventWireup="True" %>

<!DOCTYPE html>
<html>

<head>
    <title>TextBox Example</title>
    <script runat="server">
      protected void AddButton_Click(Object sender, EventArgs e)
      {
         int Answer;
         Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text);
         AnswerMessage.Text = Answer.ToString();
      }
    </script>
</head>
<body>
  <form id="form1" runat="server">
    <h3> TextBox Example </h3>
    <p>
        <asp:TextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server"/>
        +
        <asp:TextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server"/>
        =
        <asp:Label ID="AnswerMessage" runat="server"/>
    </p>
    <p>
        <asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server"/>
    </p>
    <p>
        <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
             ErrorMessage="Please enter a value.<br />" Display="Dynamic"
             runat="server"/>
        <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
             ErrorMessage="Please enter a value.<br />" Display="Dynamic"
             runat="server"/>
        <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1"
             Type="Integer" MinimumValue="1" MaximumValue="100" Display="Dynamic"
             ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
             runat="server"/>
        <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2"
             Type="Integer" MinimumValue="1" MaximumValue="100" Display="Dynamic"
             ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
             runat="server"/>
    </p>
  </form>
</body>
</html>
<%@ Page Language="vb" AutoEventWireup="false" %>

<!DOCTYPE html>
<html>

<head>
    <title>TextBox Example</title>
    <script runat="server">
        Protected Sub AddButton_Click(sender As Object, e As EventArgs)
            Dim Answer As Integer
            Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text)
            AnswerMessage.Text = Answer.ToString()
        End Sub
    </script>
</head>
<body>
  <form id="form1" runat="server">
    <h3> TextBox Example </h3>
    <p>
        <asp:TextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server"/>
        +
        <asp:TextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server"/>
        =
        <asp:Label ID="AnswerMessage" runat="server"/>
    </p>
    <p>
        <asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server"/>
    </p>
    <p>
        <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
             ErrorMessage="Please enter a value.<br />" Display="Dynamic"
             runat="server"/>
        <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
             ErrorMessage="Please enter a value.<br />" Display="Dynamic"
             runat="server"/>
        <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1"
             Type="Integer" MinimumValue="1" MaximumValue="100" Display="Dynamic"
             ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
             runat="server"/>
        <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2"
             Type="Integer" MinimumValue="1" MaximumValue="100" Display="Dynamic"
             ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
             runat="server"/>
    </p>
  </form>
</body>
</html>

Remarks

Use the MaxLength property to limit the number of characters that can be entered in the TextBox control.

Note

This property is applicable only when the TextMode property is set to TextBoxMode.SingleLine or TextBoxMode.Password.

This property cannot be set by themes or style sheet themes. For more information, see ThemeableAttribute and ASP.NET Themes and Skins.

Applies to

See also