asp.net c# 输入字符串格式不正确

protectedvoidPage_Load(objectsender,EventArgse){ints;intd;d=int.Parse(TextBox1.Text);... protected void Page_Load(object sender, EventArgs e)
{
int s;
int d;
d = int.Parse(TextBox1.Text);
s = (int)d / 10;
switch (s)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
Label1.Text = "bujige"; break;
case 6:
case 7:
case 8:
Label1.Text = "hao"; break;
case 9:
case 10:
Label1.Text = "good"; break;
default: Label1.Text = "qingshuru"; break;

}
展开
 我来答
百度网友25ed0b895
2010-11-20 · TA获得超过257个赞
知道答主
回答量:128
采纳率:0%
帮助的人:0
展开全部
原因是在页面第一次载入时,TextBox1.Text的值为空,int.Parse(TextBox1.Text)会抛出异常,可以用try...catch来解决。

protected void Page_Load(object sender, EventArgs e)
{
try
{
int s;
int d;
d = int.Parse(TextBox1.Text);
s = (int)d / 10;
switch (s)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
Label1.Text = "bujige"; break;
case 6:
case 7:
case 8:
Label1.Text = "hao"; break;
case 9:
case 10:
Label1.Text = "good"; break;
default: Label1.Text = "qingshuru"; break;
}
}
catch
{
}
}
gaoshang212
2010-11-20 · TA获得超过171个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:197万
展开全部
是不是TextBox1.Text 如果输入的不是数字,就数变成 请输入啊????

你做异常处理就行了!~
try
{
d = int.Parse(TextBox1.Text);
s = (int)d / 10;
switch (s)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
Label1.Text = "bujige"; break;
case 6:
case 7:
case 8:
Label1.Text = "hao"; break;
case 9:
case 10:
Label1.Text = "good"; break;
default: Label1.Text = "qingshuru"; break;
}
}
catch(Exception e)
{
Label1.Text = "请正确输入!";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sigmud
2010-11-20 · 超过30用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:93.7万
展开全部
如果TextBox1.Text的值不能转为int型的当然要抛出异常
比如"check"就无法转为int而"12"就可以
你可以使用int,tryParse方法
第一个参数写TextBox1.text,第二个参数是输出参数out d
方法返回bool型 true为转型成功 false为失败
成功d就是TextBox1.text转化的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zn_stu
2010-11-20
知道答主
回答量:75
采纳率:0%
帮助的人:14万
展开全部
用try catch捕获下错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式