ASP.net:当在TextMode=“”中通过键盘键入时,TextBox允许超出范围的数字;数字”;

本文关键字:数字 TextBox 许超出 范围 键盘 TextMode 当在 net ASP | 更新日期: 2023-09-27 18:29:43

我想要ASP.net网络表单中NumericUpDown的TextBox值在1到99之间。(没有使用NumericUpdown Extended Ajax Control Toolkit,因为我的客户端不允许这样做)。因此,我使用以下代码:

<asp:TextBox TextMode="Number" runat="server" min="1" max="99" step="1" ID="tbRooms" />

当我使用上下箭头键时,这很好,它的范围仅在1到99之间。然而,当我从键盘上键入值时,它会取任何随机值,比如1000。我试着放MaxlLength = "2",但没有成功。那么,我该如何解决这个问题,这样即使通过键盘也不允许任何随机数字。

谢谢。

ASP.net:当在TextMode=“”中通过键盘键入时,TextBox允许超出范围的数字;数字”;

请尝试这个:

<table border="0" cellpadding="0" cellspacing="0">
   <tbody>
      <tr>
         <td>
            <b>Enter Value</b>
            <asp:textbox runat="server" id="txtRangeValidator">
            </asp:textbox>
         </td>
      </tr>
      <tr>
         <td>
            <asp:rangevalidator ID="Rangevalidator1" errormessage="Please enter value between 1-99." forecolor="Red" controltovalidate="txtRangeValidator" minimumvalue="1" maximumvalue="99" runat="server" Type="Integer">
            </asp:rangevalidator>
         </td>
      </tr>
   </tbody>
</table>

onKeyPress添加此代码:

onKeyPress="if(this.value.length==2)return false;"