如何根据字符串的查询值格式化html

如何根据字符串的查询值格式化html,html,css,asp.net,sql-server-2008,razor,Html,Css,Asp.net,Sql Server 2008,Razor,使用ASP.NET razor和SQL Server 2008 R2 我有一个局部变量,声明如下: 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 &

使用ASP.NET razor和SQL Server 2008 R2

我有一个局部变量,声明如下:

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()  
打印最上面的名字。好的,很好。现在

我需要格式化的网页文本的基础上,顶尖的销售人员。如果他们是顶级销售人员,我希望他们的名字变成蓝色。这是我对销售人员的“实际销售额”数字所做的:

<span class=@(salesval12  > 6000 ? "blue" : "red")>@salesval12.ToString("C")</span>  
6000?“蓝色”:“红色”)>@salesval12.ToString(“C”)
如果文本的颜色超过6000,则可以更改文本的颜色。(红色和蓝色类在页面上方定义)。所以,我这样做了:

<span class=@(tsmMtd = "CHARLIE JONES" ? "blue" : "red")>Charlie</span>  
Charlie
但它在加载时失败,并显示编译器错误消息:CS0029:无法将类型“string”隐式转换为“bool”

好的,我需要知道的是

  • 我做错了什么
  • 我应该做什么
  • 非常感谢所有帮助。

    代替

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

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

    你写了一个等号而不是两个。使用一个,它只需将
    CHARLIE JONES
    保存到
    tsmMtd
    变量,然后尝试将该字符串变量作为条件进行比较,编译器就会显示一个关于它的错误

    So,这么简单。非常感谢!