Ich denke nicht, dass dies mit der Asp: TextBox ohne etwas zusätzliche Arbeit möglich ist. Zu guter Letzt sind die Eigenschaften "Zeilen" und "Spalten" nur eine Anzeigemetrik und beschränken nicht die Anzahl der Zeichen oder Zeilenumbrüche. Die MaxLength-Eigenschaft ist auch gut dokumentiert, um deaktiviert zu sein, wenn Sie "multiline" mit einem Asp: Textfeld verwenden.
Jedoch, haben Sie ein paar Optionen unten gezeigt. Hinweis: In der Regel wird die Eingabe anhand der Länge überprüft, da sie nicht die Feldgröße in den Datenbanktabellen überschreiten soll. Hoffentlich werden diese Beispiele helfen.
1) Bewegen Sie Ihre eigenen Validator Javascript. (dieses Beispiel beschränkt sich auf die Länge der Validierung nicht Zeilenumbrüche, aber man konnte weiter anpassen.)
<asp:TextBox textmode="multiline"
runat="server"
ID="TextBox1"
name="TextBox1"
onkeypress="return EnforceFieldLengthMax(this,10)"
style="OVERFLOW:hidden; height:165px; width:95%; resize:none;">
</asp:TextBox>
<script language="javascript">
function EnforceFieldLengthMax(txt, maxLen)
{
if (txt.value.length > (maxLen - 1))
{
return false;
}
}
</script>
2) Regelmäßige Validator Expression (Leider wird dies nicht ausgelöst, bis die Kontrolle verliert Fokus , so glaube ich nicht, dies ist, was Sie suchen, aber hier ist ein Beispiel für alle Fälle) **
<asp:TextBox textmode="multiline"
runat="server"
ID="TextBox2"
name="TextBox2"
style="OVERFLOW:hidden; height:165px; width:95%; resize:none;">
</asp:TextBox>
<asp:Label AssociatedControlID="txtValidateMe"></asp:Label>
<asp:RegularExpressionValidator ID="TextBox2Validator"
ControlToValidate="TextBox2" ErrorMessage="Entry can't exceed 20 characters"
ValidationExpression="^[\s\S]{0,20}$" runat="server" Display="Dynamic" SetFocusOnError="true" />
3) Verwenden Sie das HTML-Textarea-Objekt, das MaxLength erzwingt
<textarea maxlength="50"></textarea>