我一直在寻找一种方法来限制文本框中的文本,它看起来像这样
<asp:TextBox runat="server" ID="tbTest" TextMode="MultiLine"
MaxLength="20" Rows="5" Columns="30" >
</asp:TextBox>
属性
MaxLength="20"
只在另一个属性TextMode="MultiLine"
未设置时起作用,否则甚至不会呈现。输出的HTML如下:<textarea name="ctl00$ContentPlaceHolder1$tbTest"
id="ctl00_ContentPlaceHolder1_tbTest" rows="5" cols="30">
</textarea>
如果您在这里搜索SO以解决此问题,您会得到两种建议:
- 添加一个(
asp:RegularExpression
)验证器并验证控件 - 添加一个JavaScript,在达到限制时删除最后插入的字符。
maxlength
的支持始于2013年,当IE10发布时(reference)。目前,每个浏览器都支持此属性-请自行测试:https://jsfiddle.net/wuu5wne1/ 问题是如何强制ASP.Net将此属性应用于我的多行文本框?
<textarea>
相对于asp:TextBox
有什么不足之处吗? - Toshi