对一个textBox进行验证
就是让它只能输入整数因为需要,它本身有个TextChanged事件问题来了 就是一不小心输个字符 ,它就同时进行验证报错 但也进入了TextChanged事件 因为不是数字 就发生了错误
我想应该是先验证 然后进行TextChanged事件 但不值怎么办恳请大侠们指教 相关代码如下:
protected void txtodPrice_TextChanged(object sender, EventArgs e)
{
double price = double.Parse(txtodPrice.Text.ToString().Trim());
}
<td width="80">
<asp:TextBox ID="txtodPrice" runat="server" Width="40px" OnTextChanged="txtodPrice_TextChanged"</asp:TextBox>
<asp:RequiredFieldValidator ID="rfvodPrice" runat="server" Font-Size="9pt" BackColor="#FFFF80"
ControlToValidate="txtodPrice" Display="Dynamic" ErrorMessage="*">
</asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvodPrice" runat="server" Font-Size="9pt" BackColor="#FFFF80"
ControlToValidate="txtodPrice" Display="Dynamic" ErrorMessage="请输入数字!" Operator="DataTypeCheck"
Type="Double"></asp:CompareValidator></td>
就是让它只能输入整数因为需要,它本身有个TextChanged事件问题来了 就是一不小心输个字符 ,它就同时进行验证报错 但也进入了TextChanged事件 因为不是数字 就发生了错误
我想应该是先验证 然后进行TextChanged事件 但不值怎么办恳请大侠们指教 相关代码如下:
protected void txtodPrice_TextChanged(object sender, EventArgs e)
{
double price = double.Parse(txtodPrice.Text.ToString().Trim());
}
<td width="80">
<asp:TextBox ID="txtodPrice" runat="server" Width="40px" OnTextChanged="txtodPrice_TextChanged"</asp:TextBox>
<asp:RequiredFieldValidator ID="rfvodPrice" runat="server" Font-Size="9pt" BackColor="#FFFF80"
ControlToValidate="txtodPrice" Display="Dynamic" ErrorMessage="*">
</asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvodPrice" runat="server" Font-Size="9pt" BackColor="#FFFF80"
ControlToValidate="txtodPrice" Display="Dynamic" ErrorMessage="请输入数字!" Operator="DataTypeCheck"
Type="Double"></asp:CompareValidator></td>
解决方案 »
- cookie从哪里来?
- 在网页中访问局域网内共享的无后缀名的文件
- 存储过程单引号问题,在线等
- 做个考试系统,碰到提交答案时的一个问题,.....................
- DataGrid模板列的问题,在线等,急,谢谢了
- DataGrid中怎么绑定UserControl?
- 万分紧急,高分求回写datagrid的方法,在线等!!
- 请问如何是现datagrid怎样的表头?求救啊
- 从前台利用json传递json数组到后台怎么实现?
- 水晶报表显示后双击页面长时间无反应如何解决?
- javascript效果积累帖(广告图片切换)
- 希望大家能踊跃给鄙人推荐几本.net3.5平台下的技术开发书籍,要有深度、有技术含量点儿的...多谢了先!!
因为走一遍服务器,非常慢
如果需要,可以用JS实现TextChanged的任务
这种验证完全可以放在客户端用js实现.
<script language="javascript">
function _onkeypress()
{
var re = /[0-9]/i;
if (String.fromCharCode(event.keyCode).match(re) == null&& event.keyCode !=46&& event.keyCode !=45)
{
event.returnValue = 0;
}
}
</script>
</HEAD>
<body><TR>
<TD class="td2" align="right" width="20%" style="HEIGHT: 22px">
<asp:label id="Label5" runat="server">余 额</asp:label></TD>
<TD class="td2" align="left" style="HEIGHT: 22px">
<asp:textbox onkeypress="return _onkeypress();" id="txtBalanceP" onblur="this.className=''" onfocus="this.className='colorfocus'"
runat="server" MaxLength="50" ReadOnly="True" BorderStyle="None"></asp:textbox></TD>
</TR>
{
double price = double.Parse(txtodPrice.Text.ToString().Trim());
} 加一个是否验证 就行了