Html.Grid模板,Html代码无法识别

时间:2014-07-22 07:30:51

标签: html asp.net-mvc razor

我正在使用Html Grid,我在几列中添加了一个模板,这些模板是一个包含数据和HTML代码的组合图像。但是在构建之后,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())

由于

1 个答案:

答案 0 :(得分: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; });