ASP.net:在TextMode =" Number"

时间:2016-01-09 22:50:29

标签: c# asp.net c#-4.0 webforms textbox

我想要一个介于1和99之间的TextBox值与ASP.net webforms中的NumericUpDown。 (不使用NumericUpdown扩展Ajax控件工具包,因为我的客户端不允许这样做)。所以,为此,我使用以下代码:

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

当我使用向上和向下箭头键时,这可以正常工作,它的范围仅在1到99之间。但是,当我从键盘输入值时,它会取任何随机值,让我们说1000.我试着放MaxlLength = "2",但这并没有成功。那么,我该如何解决这个问题,以便它即使通过键盘也不允许任何随机数。

感谢。

2 个答案:

答案 0 :(得分:3)

请尝试这个:

<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>

答案 1 :(得分:0)

onKeyPress添加此代码:

onKeyPress =“ if(this.value.length == 2)返回false;”