2014-10-02 31 views
0

使用ASP.NET剃刀和SQL Server 2008 R2如何基于查询的值是一个字符串

我有因此声明的局部变量格式HTML:返回一个

var tsmMtd = db.QueryValue(" 
    SELECT b.Name, SUM(subtotal) totalSUM 
    FROM DR_TRANS a 
    INNER JOIN Staff b ON a.Salesno = b.Staffno 
    WHERE a.salesno in (12,23,28,30) 
    AND a.TRANSDATE >= dateadd(m, datediff(m, 0, getdate()), 0) 
    AND a.REF3 = 'Invoice' 
    GROUP BY b.Name 
    ORDER BY totalSUM DESC 
"); 

现在来自表格的名称数组,按销售值排序。稍后在HTML中将其称为

@tsmMtd.ToString() 

它打印最高的名称。好,都很好。 NOW ....

我需要根据该顶级销售员格式化页面的文本。我希望自己的名字,如果他们顶部salesperson.This去蓝色是我所做的“实际销售”数字对一个销售员:

<span [email protected](salesval12 > 6000 ? "blue" : "red")>@salesval12.ToString("C")</span> 

这正常更改文本,如果颜色它超过了6000的值。 (红色和蓝色的分类在页面上定义更高)。所以,我这样做:

<span [email protected](tsmMtd = "CHARLIE JONES" ? "blue" : "red")>Charlie</span> 

,但它在加载失败后说:编译器错误信息: CS0029:无法隐式转换类型“字符串”到“布尔”

OK,所以我需要知道是

  1. 我在做什么错
  2. 是我应该做的

任何和所有帮助非常感谢。

回答

2

代替

@(tsmMtd = "CHARLIE JONES" ? "blue" : "red") 

应该

@(tsmMtd == "CHARLIE JONES" ? "blue" : "red") 

你写了一个等号,而不是两个。有一个它只是保存CHARLIE JONEStsmMtd变量,然后尝试比较该字符串变量作为条件和编译器显示一个关于它的错误

+0

所以,很简单。非常感谢你! – Bevan 2014-10-02 23:13:41

+0

欢迎您:) – 2014-10-02 23:13:57

相关问题