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

use*_*554 3 c# asp.net textbox webforms c#-4.0

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

<asp:TextBox TextMode="Number" runat="server" min="1" max="99" step="1" ID="tbRooms" />
Run Code Online (Sandbox Code Playgroud)

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

谢谢。

Shi*_*mas 5

请试试这个:

<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>
Run Code Online (Sandbox Code Playgroud)