异常详细信息: System.FormatException: 输入字符串的格式不正确 请高手说个解决办法

yaoshun1983 2007-06-27 11:09:51
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.FormatException: 输入字符串的格式不正确。

源错误:


行 395: <HeaderStyle Width="60px"></HeaderStyle>
行 396: <ItemTemplate>
行 397: <%# Convert.ToSingle(DataBinder.Eval(Container.DataItem,"UnitPrice"))*Convert.ToInt16(DataBinder.Eval(Container.DataItem,"Count"))%>
行 398: </ItemTemplate>
行 399: </asp:TemplateColumn>


源文件: e:\n\3CMarket\customize2.aspx 行: 397

堆栈跟踪:


[FormatException: 输入字符串的格式不正确。]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +2752675
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +102
System.Int16.Parse(String s, NumberStyles style, NumberFormatInfo info) +25
System.String.System.IConvertible.ToInt16(IFormatProvider provider) +43
System.Convert.ToInt16(Object value) +25
ASP.customize2_aspx.__DataBind__control21(Object sender, EventArgs e) in e:\n\3CMarket\customize2.aspx:397
System.Web.UI.Control.OnDataBinding(EventArgs e) +99
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +206
System.Web.UI.Control.DataBind() +12
System.Web.UI.Control.DataBindChildren() +216
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +216
System.Web.UI.Control.DataBind() +12
System.Web.UI.Control.DataBindChildren() +216
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +216
System.Web.UI.Control.DataBind() +12
System.Web.UI.WebControls.DataGrid.CreateItem(Int32 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource) +200
System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource) +1519
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +56
System.Web.UI.WebControls.BaseDataList.DataBind() +72
_3CMarket.customize2.DoIfLoginOk() in e:\n\3CMarket\customize2.aspx.cs:73
MktPage.ClientPage.Page_Load(Object sender, EventArgs e) in E:\n\3CMarket\MktPage\ClientPage.cs:62
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.210
...全文
8283 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
glacier111 2007-06-27
  • 打赏
  • 举报
回复
断点跟踪一下
yaoshun1983 2007-06-27
  • 打赏
  • 举报
回复
遇到这个问题办法:请确保你的TextBox的值为数字..否则如果为空或是其它字符串将出错.
yaoshun1983 2007-06-27
  • 打赏
  • 举报
回复
谢谢!问题已解决!
amandag 2007-06-27
  • 打赏
  • 举报
回复
绑定一个方法,在后台先判断字段的值是否是null
xray2005 2007-06-27
  • 打赏
  • 举报
回复
suqx520(流浪猫) ( ) 信誉:100 Blog 加为好友 2007-06-27 14:25:05 得分: 0


先看看数据库里的某个字段是不是不能为null,再检查你的页面上的某个框框是不是没有输入值,也就是说数据库里的某个字段为必填的时候,你在页面上的某个框框却是给""或是null值。我前几天刚碰到过。就是这样子解决的。一开始也是搞得我N郁闷。。^_^


-------
同意!

或者再试试:

<%# Convert.ToSingle(DataBinder.Eval(Container.DataItem,"UnitPrice").ToString())*Convert.ToInt16(DataBinder.Eval(Container.DataItem,"Count").ToString())%>


suqx520 2007-06-27
  • 打赏
  • 举报
回复
先看看数据库里的某个字段是不是不能为null,再检查你的页面上的某个框框是不是没有输入值,也就是说数据库里的某个字段为必填的时候,你在页面上的某个框框却是给""或是null值。我前几天刚碰到过。就是这样子解决的。一开始也是搞得我N郁闷。。^_^
yaoshun1983 2007-06-27
  • 打赏
  • 举报
回复
还是打不出问题的出处.高手来帮帮忙啊

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧