我需要查看您对以下内容的看法。
我有一个有计算列的网格。使用(Col A - col B) / SomeLabelAtTopofPage.Text
问题 - 在网格声明中完成这些计算是一种好习惯吗? (我个人不喜欢它,我喜欢尽可能保持我的ASPX干净)
示例:
<asp:TemplateField HeaderText="Calculated Column" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<span><%# (double.Parse(Eval("A").ToString()) - double.Parse(Eval("B").ToString())) / double.Parse(SomeLabelAtTopofPage.Text) %></span>
</ItemTemplate>
</asp:TemplateField>
或者在网格的DataBound
事件中更好吗?
var calcVal = ((Convert.ToDouble(e.Row.Cells[2].Text) - Convert.ToDouble(e.Row.Cells[3].Text)) / Convert.ToDouble(SomeLabelAtTopofPage.Text)) * 100;
e.Row.Cells[12].Text = string.Format("{0:0.000%}", calcVal);
我宁愿在存储过程的源代码处执行此操作,但由于某些原因,我无法修改proc。
任何人都可以指导我,有什么更好的方法来做到这一点以及为什么?
谢谢