首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

对象不能从 DBNull 转换为其他类型(利用DetailsView绑定的),该如何解决

2012-04-18 
对象不能从 DBNull 转换为其他类型(利用DetailsView绑定的)asp:DetailsView IDDetailsView1 runatse

对象不能从 DBNull 转换为其他类型(利用DetailsView绑定的)
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" 
  DataSourceID="AccessDataSource2" Height="50px" Width="532px" 
  BackColor="#E0E0E0" BorderWidth="0px" CellPadding="4" CellSpacing="1" 
  HorizontalAlign="Center">
  <FieldHeaderStyle HorizontalAlign="Left" />
  <Fields>
  <asp:BoundField DataField="Subtotal" HeaderText="小计" 
  SortExpression="Subtotal" DataFormatString="{0:C0}" HtmlEncode="False" >
  <ItemStyle HorizontalAlign="Center" Width="72px" />
  </asp:BoundField>
  <asp:TemplateField HeaderText="运费(固定运费10元)">
  <ItemTemplate>
  <asp:Label ID="Label2" runat="server" Text='<%# String.Format("{0:C0}",10) %>'></asp:Label>
  </ItemTemplate>
  <ItemStyle HorizontalAlign="Center" Width="72px" />
  </asp:TemplateField>
  <asp:TemplateField HeaderText="总计">
  <ItemTemplate>
  <asp:Label ID="Label3" runat="server" 
  Text='<%# String.Format("{0:C0}",Convert.ToInt32(Eval("Subtotal"))+10) %>'></asp:Label>
  </ItemTemplate>
  <ItemStyle HorizontalAlign="Center" Width="72px" />
  </asp:TemplateField>
  </Fields>
  <RowStyle BackColor="White" Height="24px" />
  </asp:DetailsView>
这是中间的一部分代码源错误如下:
源错误: 


行 110: <asp:TemplateField HeaderText="总计">
行 111: <ItemTemplate>
行 112: <asp:Label ID="Label3" runat="server" //System.InvalidCastException: 对象不能从 DBNull 转换为其他类型
行 113: Text='<%# String.Format("{0:C0}",Convert.ToInt32(Eval("Subtotal"))+10) %>'></asp:Label>
行 114: </ItemTemplate>
 
求救啊!

[解决办法]
似乎不行吧。
[解决办法]
Eval("Subtotal")
空值?
[解决办法]
<%# String.Format("{0:C0}",(Eval("Subtotal") == null ? 0 : Convert.ToInt32(Eval("Subtotal"))+10)) %>

热点排行