2014-07-22 58 views
0

我使用Html Grid,我在幾欄中添加了一個模板,這些模板是一個組合數據和html代碼的圖像。但構建完成後,html代碼會顯示在文本中,我可以在瀏覽器的頁面加載中閱讀它,而我不知道爲什麼...您能幫助我嗎?Html.Grid模板,HTML代碼不識別

這裏是我的看法代碼:

@model MvcTools.Grid.GridModel<Suivi.View_OrgaRdv> 
@{ 
    ViewBag.Title = "Grid"; 
} 

@(Html.Grid<Suivi.OrgaRdv>() 
.Title("rdv") 
.DataKeys(dataKeys => dataKeys.Add(c => c.org_ID)) 
.Columns(columns => 
    { 
     columns 
       .Bound(c => c.org_Nom) 
       .Title("Nom") 
       .Width("200px") 
       .HtmlAttributes("id","orgNom");     


     columns 
      .Bound(c => c.DataRv) 
      .Title("rv " + DateTime.Today.Year) 
      .Format("dd/MM/yyyy") 
      .Width("100px") 
      .Template(p => 
       { 
        System.Text.StringBuilder sb = new System.Text.StringBuilder(); 

        if (p.DataRv>= ((p.DiffRv))) 
        { 
         sb.AppendFormat("{0} {1}", p.DataRv, "<img src='...' />"); 
        } 
        else 
        { 
         sb.Append(p.NombreRdvN); 
        } 

        return sb.ToString(); 
       }); 
      //.HtmlAttributes("class","celT1",) 
      //.HtmlAttributes("class", "celT2",); 

     columns 
      .Bound(c => c.DataDer) 
      .Title("Dernier") 
      .Format("dd/MM/yyyy") 
      .Width("100px") 
      .Template(p => 
       { 
        System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
        if (p.DataDer<= p.first) 
        { 
         sb.AppendFormat("{0} {1}", String.Format("{0:d}", p.DataDer), "<img src='' />"); 

        } 
        else 
        { 
         sb.AppendFormat("{0}",String.Format("{0:d}",p.DataDer)); 
        }      
       return sb; 
       //return sb.toString(); 
       } 
      ) 
      ; 


       } 
)) 
.ToolBarPosition(Cci.Mvc.UI.ToolBarPosition.Top) 
.Source(Model.Query) 
.Sort(c => c.org_Nom) 
.Page(1) 
.PageSize(30) 
.Pageable() 
.DataSource(dataSourceBuilder => dataSourceBuilder.Ajax().Read("Grid", "RV")) 
.ApplyDataSourceRequest(Model.DataSourceRequest) 
.Render()) 

感謝

+0

使用@ html.raw()解碼出現在文本中的html。 –

+0

是的,我試過了,但它沒有奏效。 – Donidon

+0

我只是在模板之前加上: '.HtmlEncode(false)',它的工作原理 – Donidon

回答

0

這裏是解決方案。我正在使用.HtmlEncode(false) columns .Bound(c => c.DifferenceSaisie) .Title("Différence "+DateTime.Today.Year+" et "+(DateTime.Today.Year- 1)) .Width("100px") .HtmlEncode(false) .Template(p=> { System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.AppendFormat("{0} {1}", p.DifferenceSaisie, Html.Raw("<img src=''/>")); return sb; });