如何把asp.net 中文本框控件的text属性设置为int型?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把asp.net 中文本框控件的text属性设置为int型?相关的知识,希望对你有一定的参考价值。
asp.net文本框控件的text属性默认为字符串型,能不能把它设置为int型,使它只能接受int型数据?
我编程时需要调用一个dll,那个dll要求文本框中的数据为int。
引用:
在Asp.Net TextBox 控件的 OnKeyPress 事件中指定输入键盘码必须为数字:
<asp:TextBox ID="TextBox" runat="server" OnKeyPress="if(((event.keyCode>=48)&&(event.keyCode <=57))||(event.keyCode==46)) event.returnValue=true; elseevent.returnValue=false;" MaxLength="15"> </asp:TextBox>
注意:如果不允许输入小数点去掉“event.keyCode==46”这种情况
或者:<asp:TextBox ID="TextBox" runat="server" onkeyup='value=value.replace(/[^d]/g,'') ' onbeforepaste='clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))' MaxLength="15"> </asp:TextBox>
类似方法一:
if(e.KeyChar!=8!Char.IsDigit(e.KeyChar)e.KeyChar!='.') e.Handled = true;
类似方法二:
if ((e.KeyChar < 48 || e.KeyChar > 57) (e.KeyChar != 8) e.KeyChar!='.') e.Handled = true;
类似方法三:
if (!Char.IsNumber(e.KeyChar) !Char.IsPunctuation(e.KeyChar) !Char.IsControl(e.KeyChar)) e.Handled = true;
解释:其中e.KeyChar是键盘输入的键对应的字符,IsDigit函数可以判断是否为0到9的数字,Chr(8)
为退格键,当e.Handled为True时,程序认为该KeyPress事件已经被处理过了,文本框的内容也就不会发生变化
如果文本需要输入小数的话,就要能够输入小数点.,而且小数点只能输入一次
//IsNumber:指定字符串中位于指定位置的字符是否属于数字类别
//IsPunctuation:指定字符串中位于指定位置的字符是否属于标点符号类别
//IsControl:指定字符串中位于指定位置的字符是否属于控制字符类别
注意: 这里是在输入时便限制其他类型的字符被写入 TextBox;
就是说你不输入正确或你输入的不是数字我就不让你做其他任何工作!
霸道吧? 呵呵, 如果你不喜欢这种方式, 下面有几种允许用户先随便输入,
然后再判断, 如果不是整数, 我给你来个警告, 告诉你输入类型不正确, 请重新输入!
---不过在我看来, 这种做法有些不道德, 等着你犯错.
类似方法四: 正则表达式.
string regExp = /^[1-9][0-9]*$/;
if(!regExp.test( this.txtLogin.Text))
alert(只能是数字!);
this.txtLogin.clear();
return ;
类似方法五: 最没有想象力的(原始)判断方法---一个一个一个一个字符判断还需要加上个for循环和n个if:
function isInt(a)
var b = "0123456789";
var i;
for (i = 0; i <a.length; i++)
var c = a.charAt(i);
if (b.indexOf(c) == -1) return false;
return true;
追问
你说的很有道理。能不能在刚开始设计时就把TextBox.Text的类型设置为int呢?
追答不能,除非你自己重写后暴露另外一个属性
因为Text的中文意思就是文本
你在要提交的时候 判断一下文本框里面的值 是不是int型的
Js的话: 用 isNaN(文本框的.value) 判断它是不是纯数字
后台的话: 你用
int i = 0;
bool b = int.TryParse(文本框的.value, out i) ;
如果 b 是True 的话 他就是int型的 而 i 就是 等于 (文本框的.value,
如果 b 是False 就不是了int型了~~ 参考技术B 写程序的时候把string 类型强制转换int就可以啦!
VB如何把文件内容显示在文本框中?
就是类似记事本一样的,我用Text1.Text=的方法不行,Open F.FiLenaMe又找不到路径,F是控件
VB6.0可以使用TextBok控件或RichTextBox控件实现将读入文本文件显示于控件中。
TextBox 控件有时也称作编辑字段或者编辑控件,显示设计时输入的用户输入的、或运行时在代码中赋予控件的信息。
为了在 TextBox 控件中显示多行文本,要将 MultiLine 属性设置为
True。如果多行 TextBox 没有水平滚动条,那么即使 TextBox 调整了大小,文本也会自动换行。为了在
TextBox 上定制滚动条组合,需要设置 ScrollBars 属性。
如果文本框的 MultiLine 属性设置为 True 而且它的
ScrollBars 没有设置为 None (0),则滚动条总出现在文本框上。
如果将 MultiLine 属性设置为 True,则可以在 TextBox 内用 Alignment 属性设置文本的对齐。如果 MultiLine 属性是 False,则
Alignment 属性不起作用。
代码实例:
Private Sub Command1_Click()
Dim strj() As String
\' 设置“CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
\' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
\' 设置过滤器
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
\' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
\' 显示“打开”对话框
CommonDialog1.ShowOpen
\' 显示选定文件的名字
Debug.Print CommonDialog1.FileName
Str = CommonDialog1.FileName
Open CommonDialog1.FileName For Input As #1
Do Until EOF(1)
Line Input #1, s
Text1.Text = Text1.Text & s & vbCrLf
Loop
Close #1
Exit Sub
ErrHandler:
Exit Sub
End Sub
RichTextBox 控件不仅允许输入和编辑文本,同时还提供了标准 TextBox
控件未具有的、更高级的指定格式的许多功能。
上述代码同样适合RichTextBox控件使用
Private Sub Command1_Click()
F.Filter = "文本文档(*.txt)|*.txt"
F.FileName = ""
F.ShowOpen
If F.FileName = "" Then Enit Sub
getfreefile = FreeFile
Open F.FileName For Input As #getfreefile
Do While Not EOF(getfreefile)
Line Input #1, readfile
Text1.Text = Text1.Text & readfile & vbCrLf
Loop
Close #getfreefile
End Sub本回答被提问者采纳
以上是关于如何把asp.net 中文本框控件的text属性设置为int型?的主要内容,如果未能解决你的问题,请参考以下文章