我有一个有两列的GridView,我想添加一个第三列,它将是A列除以B列。我添加了一个模板字段,但是我得到的是除零错误。如何检查零值以停止错误消息?
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblCalc" runat="server" >
<%# Convert.ToDecimal(Eval("val1").ToString()) / Convert.ToDecimal(Eval("val2").ToString()) %>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
答案 0 :(得分:2)
是的,你确定可以。你甚至可以内联,但这会使你的标记过于混乱,所以我建议将这段代码移到后面。
protected decimal Calculate(string a, string b)
{
decimal ad = Convert.ToDecimal(a);
decimal bd = Convert.ToDecimal(bd);
if (bd == 0)
{
return 0; // or whatever
}
return ad / bd;
}
打电话给:
<asp:Label ID="lblCalc" runat="server" >
<%# Calculate(Eval("val1").ToString(), Eval("val2").ToString()) %>
</Label>