2012-10-11 121 views
1

我正在使用MS WebMatrix從數據庫中獲取的數據創建動態CSHTML頁面。我正在使用剃鬚刀語法。爲html格式化查詢輸出

我有數據返回給我CSHTML頁,但它已尾隨位等。例如我想格式化「123.4568」到「$ 123.46」

如何獲得結果的格式顯示我需要?當達到目標時,我也想更改文本顏色等。

+0

你可以使用'C'字符串格式 - 見http://stackoverflow.com/questions/7087495/using-razor-view-engine-如何做 - 我 - 格式 - 十進制值 - 有 - 逗號和兩個 – sinelaw

+0

有用的,有幫助的。 var itot = db.Query(「SELECT SUM(SUBTOTAL)as dvo.SALESORD_HDR invoices where ORDERDATE = 41190和INVOICECOUNT> = 1「); var stotl = new WebGrid(source:itot); var qtot = db.Query(「SELECT SUM(SUBTOTAL)as quotes FROM dbo.SALESORD_HDR where ORDERDATE> 41190」); var qtotl = new WebGrid(source:qtot);然後我在html中顯示結果:

@ qtotl.GetHtml()@ stotl.GetHtml()

Bevan

回答

1

可以使用格式設置WebGrid中值的格式列構造函數的可選參數。

你可以嘗試這樣的事情,在發票的顏色是紅色,如果值> 50或藍色如果不

<html lang="en"> 
    <head> 
     <style> 
      .column1 {color: red; font-weight: bold;} 
      .column2 {color: blue;} 
     </style> 
    </head> 
    <body> 
     <p>@stot1.GetHtml(
      columns:stot1.Columns(
       stot1.Column(
        columnName:"Invoices", 
        format:@<text> 
           <span [email protected](item.Invoices > 50 ? "column1" : "column2")> 
            @item.Invoices.ToString("C") 
           </span> 
          </text> 
       ) 
      ) 
     )</p> 
    </body> 
</html> 

,但我認爲沒有理由在你的情況下使用WebGrids。

WebGrid幫助程序從支持分頁和排序的數據庫中呈現數據,但您的查詢只返回一個值,您不需要其中任何一個。

編輯

更好的解決方案是查詢表與QueryValue方法,它返回一個標量值,並顯示沒有的WebGrid的值。

在的唯一發票下面的一個例子

@{ 
    var db = Database.Open("YourTable"); 
    var itot = db.QueryValue("SELECT SUM(Subtotal) AS Invoices FROM Salesord_hdr where Orderdate = 41190 and Invoicecount >= 1"); 
} 

<!DOCTYPE html> 

<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title></title> 
     <style> 
      .column1 {color: red; font-weight: bold;} 
      .column2 {color: blue;} 
     </style> 
    </head> 
    <body> 
     <p>Invoices: 
      <span [email protected](itot > 50 ? "column1" : "column2")>@itot.ToString("C")</span> 
     </p> 
    </body> 
</html> 
+0

好的,那麼如何才能讓它顯示我所需要的單個結果呢?如果我只是插入@var我會得到一串代碼文本。對不起,如此厚實,但我該怎麼做才能讓數據顯示我的想法?我會更好地使用純HTML頁面而不是CSHTML和Razor? – Bevan

+0

@Bevan我已經編輯我的帖子來回答你的問題。 – GmG

+0

你是一顆寶石。它工作正常。 – Bevan