我有库存管理项目
我有带有列TransactionUpdate
,TransactionUpdatId
,OrderNumber
,BalanceAmount
,OrderTotalAmt
,OrderType
的LastUpdateDate
表
现在在我的场景中,我正在使用中继器加载数据。在转发器中,如果OrderType
是Opening Balance
,则应输出客户余额。如果OrderType
是Send Booking
,则BalanceAmount应扣除为BalanceAmount
-OrderTotalAmt
。我想用Eval在转发器中写这个
我试过以下:
<%#(Eval("OrderType").ToString() == ("Opening Balance") ? "BalancAmount" :
(Eval("OrderType").ToString() == "Send Booking") ? Convert.ToDecimal(Eval("BalanceAmount")) - Convert.toDecimal(Eval("OrderTotalAmt")%>
但这表示
:
附近的语法错误。这很明显,但我不知道在哪里放置以及如何放置 最佳答案
如果您在中继器中从ASPX页面进行函数调用后面的代码,则可以在该方法中使用Eval()方法。当像您这样复杂的语句时,这可以使代码更易于阅读。
请注意,我不确定我的逻辑是否正确,但是您可以理解并清理思路。
在中继器中:
<%# BalanceCalc() %>
方法背后的代码
protected string BalanceCalc()
{
switch (Eval("OrderType").ToString())
{
case "Opening Balance":
return "BalancAmount";
case "Send Booking":
return Convert.ToString(Eval("BalanceAmount"));
default:
return (Convert.ToDecimal(Eval("BalanceAmount")) - Convert.ToDecimal(Eval("OrderTotalAmt"))).ToString();
}
}