关于输入字符串格式不正确的问题

最近用ASP.NET做东西的时候,用到DataGrid,在写更新操作时总是出现 输入字符串的格式不正确[FormatException: 输入字符串的格式不正确。]
  System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +0的错误。一时想不出办法,搜索了一些东西,无赖多数都是网站上出现的类似的执行错误的页面显示。

  后来突然把DataGrid里成绩列为空的项都给填了一遍,居然这次没有报错;分析一下,肯定就是空字符串惹的祸。看起来没问题了。然后,做了做非法数据输入,有出现了类似问题,看来Parse()仅仅是做转换,一旦无法完成该项操作,就会抛出一个错误来,这样原因终于找到了,解决办法也就可以有针对性的作出了,下面列出这个修改后的提交函数

   private void btnUpdatelocal_Click(object sender, System.EventArgs e)
  {
  for (int i=0; i  {
  DataGridItem _item = DataGrid1.Items[i];
  System.Web.UI.WebControls.TextBox qtyTextBox =
  (System.Web.UI.WebControls.TextBox)_item.FindControl("txtGrade");
  // with a database, we'd use an update command. 
  // since this is an in-memory datatable, we'll just change the in-memory row.
  DataRow dr = ((DataTable)Session["SessionSCS"]).Rows[i];
  if(qtyTextBox.Text.ToString()!="")//防止空项转换
  {
  try
  {
  dr[4] =int.Parse(qtyTextBox.Text.ToString());
  //dr[4] =System.Convert.ToInt32(qtyTextBox.Text.ToString());
  }
  catch
  {
  //防止非法输入
  }
  }
  }
  DataGrid1.DataSource=((DataTable)Session["SessionSCS"]).DefaultView;
  DataGrid1.DataBind();
  
  }
 

时间: 2024-12-30 11:19:58

关于输入字符串格式不正确的问题的相关文章

c#-用dataGridView制作表格,在删除时获取选中行ID的时候提示输入字符串格式不正确?

问题描述 用dataGridView制作表格,在删除时获取选中行ID的时候提示输入字符串格式不正确? if (dataGridView1.SelectedRows.Count != 0) { shangpinid = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value.ToString()); sql = string.Format("DELETE FROM shangpin WHERE ID={0}", shang

js-判断从文本框输入的字符串格式是否正确 正确格式为 0:正确,1:错误,2:是,3:否

问题描述 判断从文本框输入的字符串格式是否正确 正确格式为 0:正确,1:错误,2:是,3:否 在js或者C#实现 定义一个var a,文本框输入的放入a中,判断a 是否满足格式 0:正确,1:错误,2:是,3:否 实现后截取 数字 冒号 中文字或英文 逗号 解决方案 c#字符串有一个split方法,根据冒号分割成数组,自己去第一个和第二个元素即可 解决方案二: 提问题 提清楚点 你可以叫string 转 array string str="正确,错误,是,否"; string[] a

C#正则表达式判断输入日期格式是否正确_正则表达式

本文将介绍一段实例代码,来讲解利用正则表达式使C#判断输入日期格式是否正确的方法.希望这段代码能对大家有所帮助.  通常我们在用C#编写系统程序或者Web开发时,都会遇到需要验证输入的字符串是否是日期的情况,下面为大家介绍一种非常全面的用正则表达式验证日期的方法:  c 正则表达式日期代码一: /// <summary> /// 是否为日期型字符串 /// </summary> /// <param name="StrSource">日期字符串(20

C#正则表达式判断输入日期格式是否正确

本文将介绍一段实例代码,来讲解利用正则表达式使C#判断输入日期格式是否正确的方法.希望这段代码能对大家有所帮助. 通常我们在用C#编写系统程序或者Web开发时,都会遇到需要验证输入的字符串是否是日期的情况,下面为大家介绍一种非常全面的用正则表达式验证日期的方法: c 正则表达式日期代码一: /// <summary> /// 是否为日期型字符串 /// </summary> /// <param name="StrSource">日期字符串(2008

字符串格式不正确 将一个字符串转换为datatime,先分析字符串以获取日期 。怎么改啊求高手帮忙

问题描述 字符串格式不正确 将一个字符串转换为datatime,先分析字符串以获取日期 .怎么改啊求高手帮忙 string sql1 = "insert into shuju(sid,m1,date,time1,time2,m2,state,m3,status,m4,tq_state,m5,msg_count,m6,msg_bytes) values ('" + Convert.ToSingle(sid.Trim()) + "','" + Convert.ToSin

输入的字符串格式不正确

问题描述 intid=Convert.ToInt32(e.CommandArgument);strings=GridView1.Rows[id].Cells[2].Text;stringurl;url="WebForm1.aspx?name="+s;Response.Redirect(url);CommandArgument绑定的是string型的,运行就显示第一行错误. 解决方案 解决方案二:Convert.ToInt32转换失败了,先把e.CommandArgument显示出来看看

老是提示字符串格式不正确,求大神指教

问题描述 标红句报错:将一个字符串转换成DateTime时,先分析该字符串以获取日期,然后再将每个变量放置到DateTime对象中求大神帮忙看看,小女拜谢!privateDataTableexe_Table(){DataSetds=newDataSet();BLL.D_MenumenuBll=newBLL.D_Menu();stringMenuIDs="";#region根据权限设定的菜单ID集合查询到菜单的集合ds=null;//1.得到UserIDstringUserID=Sess

System.FormatException: 输入字符串的格式不正确。

问题描述 原代码如下:protectedvoidButton1_Click(objectsender,EventArgse){HttpPostedFileupFile=myUpLoadFile.PostedFile;Stringmessage;if(upFile.ContentLength==0){message="请选择一个文件后上传";}else{StreamtempStream;intfileLength=upFile.ContentLength;Byte[]fileByteAr

asp.net-C#中params的使用,为什么在调用函数时会出现输入字符串的格式不正确的问题

问题描述 C#中params的使用,为什么在调用函数时会出现输入字符串的格式不正确的问题 第一张是我写的函数, 第二张是调用出错 请问该怎么改,我需要传递到函数中的参数是不定个整形参数 解决方案 s.getinfo();//这个括号里你放个int型数组,然后将你的数给这个数组应该就可以了,你试试:要不然括号里的你要加花括号的,因为是一个数组: 如果回答对你有帮助,请采纳 解决方案二: params的用法没有错,可以试试这个,用法是一样的 using System; namespace Conso