输入字符串的格式不正确。 
说明: 执行当前 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

解决方案 »

  1.   

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

  2.   

    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())%>
      

  3.   

    绑定一个方法,在后台先判断字段的值是否是null
      

  4.   

    遇到这个问题办法:请确保你的TextBox的值为数字..否则如果为空或是其它字符串将出错.