位置:海鸟网 > IT > ASP.NET >

asp.net开发中关于textbox的一个小问题

textbox的textmode取为multiline时,其maxlength不起作用的解决方法

方法一:  验证控件验证(经实践可行)


Setting the Maxength of a TextBox when it is in Multiline, You can use RegularExPRessionValidator control as shown below

<asp:TextBox ID="txtConclusion" MaxLength="200" TextMode="MultiLine" Height="100px" Width="400px" runat="server" />
<asp:RegularExpressionValidator ID="txtConclusionValidator1" ControlToValidate="txtConclusion" Text="超过200字" ValidationExpression="^[\s\S]{0,200}$" runat="server" />

方法二:弹出对话框提示
1.html代码

<HTML>
    <HEAD>
        <title>WebForm6</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="">
        <meta name="vs_targetSchema" content="">
        <script language="Javascript">           
            function isOver(sText,len)
            {
                var intlen=sText.value.length;
                if (intlen>len)
                {
                    alert("The content length must Less than or Equal "+len);
                    sText.focus();
                    sText.select();
                }
            }
        </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
            <asp:TextBox id="txtName" style="Z-INDEX: 102; LEFT: 200px; POSITION: absolute; TOP: 104px" runat="server"
                TextMode="MultiLine" Height="112px" Width="271px"></asp:TextBox>
        </form>
    </body>
</HTML>2.cs代码
private void Page_Load(object sender, System.EventArgs e)
        {
            this.txtName.Attributes.Add("onblur","isOver(this,1000);");
        }
方法三: 自定义控件

Multiline TextBox with MaxLength Validation