asp.net

时间:2016-05-14 06:43:08

标签: javascript html css asp.net

我在asp.net上有一个注册表 我想让用户评论失败它是一个多行文本框,我想让使用只写100个字符在这个框中,如果他输入更多..我想只接受前100个字符并删除另一个然后发送使用接受的文本部分进行用户错误按摩 我试过像这样使用RegularExpressionValidator:

<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="TextBox1" ErrorMessage="Comment should be less the 100 letter." ForeColor="Red" ValidationExpression="^.{1,100}$"></asp:RegularExpressionValidator>

但我仍然希望向用户显示已接受的部分并从框中删除其余部分 那我怎么能用验证工具呢?

1 个答案:

答案 0 :(得分:1)

只需在Page_Load事件

上添加两行
TextBox1.Attributes.Remove("MaxLength");
TextBox1.Attributes.Add("MaxLength", "100");
即使您将TextBox设置为MultiLine模式,

也会使其正常工作。

使用javascript,您可以这样做

<script type="text/javascript">
        function LimtCharacters(txtMsg, CharLength, indicator) {
            chars = txtMsg.value.length;
            document.getElementById(indicator).innerHTML = CharLength - chars;
            if (chars > CharLength) {
                txtMsg.value = txtMsg.value.substring(0, CharLength);
            }
        }
</script>

在您的aspx页面上写下

Number of Characters Left:

<label id="lblcount" style="background-color:#E2EEF1;color:Red;font-weight:bold;">100</label><br/>

<asp:TextBox ID="multiTxtBox"  TextMode="MultiLine" onkeyup="LimtCharacters(this,100,'lblcount');" runat="server"></asp:TextBox>

希望它会有所帮助!