2014-10-02 30 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

相關問題