我一直在寻找一种方法来限制TextBox中的文本,如下所示
<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>
如果你在这里搜索解决这个问题的解决方案,你会得到两种方法:
asp:RegularExpression
)验证器并验证控件但
大多数答案都是2013年的预售,并且maxlength
对所有浏览器的支持都是从2013年开始的,因为IE10已经发布(reference)。
目前,每个浏览器都支持此属性 - 自行测试:https://jsfiddle.net/wuu5wne1/
题
如何强制ASP.Net将此属性应用于我的多行文本框?
我的解决方案是在document.ready中通过jquery手动设置maxlength属性:
$(document).ready(function ()
{
$('#<%=tbTest.ClientID%>').prop('maxlength', 20);
}
是的,它有点hacky,但如果你想使用asp控件(我不想部署代码更改),它的工作原理。
您可以在aspx文件中使用以下代码,
<textarea runat="server" id="tbTest"
maxlength="20" rows="5" cols="30" >
</textarea>
希望能帮助到你!
这个工作但它看起来很迂回 - 特别是如果这个TextBox以某种方式嵌套到数据控件中。 qazxsw poi
foo.FindControll("bar")...