C#-ASP.Net多行文本框最大长度

我正在寻找一种方法来限制文本框内的文本,这看起来像蜜蜂

<asp:TextBox runat="server" ID="tbTest" TextMode="MultiLine"  
             MaxLength="20" Rows="5" Columns="30" >
</asp:TextBox>

仅当未设置其他属性TextMode =“ MultiLine”时,属性MaxLength =“ 20”才有效.它甚至没有被渲染.

HTML中的输出如下所示:

<textarea name="ctl00$ContentPlaceHolder1$tbTest" 
          id="ctl00_ContentPlaceHolder1_tbTest" rows="5" cols="30">
</textarea>

如果您在此处搜索解决此问题的解决方案,则有2种建议方法:

>添加一个(asp:RegularExpression)验证器并验证控件
>添加JavaScript,以在达到限制时删除最后一个插入字符.

多数答案是prevois 2013,所有浏览器对maxlength的支持始于2013年IE10发布(reference).

当前,每个浏览器都支持此属性-自行测试:https://jsfiddle.net/wuu5wne1/

如何强制ASP.Net将此属性应用于多行文本框?

解决方法:

我的解决方案是通过document.ready中的jquery手动设置maxlength属性:

$(document).ready(function ()
{
    $('#<%=tbTest.ClientID%>').prop('maxlength', 20);
}

是的,这有点笨拙,但是如果您想使用asp控件(我不想部署代码更改),它就可以工作.

上一篇:四旋翼无人机飞控系统设计(控制信号获取及转化)


下一篇:D-Bus初识 环境搭建