我使用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())
感謝
使用@ html.raw()解碼出現在文本中的html。 –
是的,我試過了,但它沒有奏效。 – Donidon
我只是在模板之前加上: '.HtmlEncode(false)',它的工作原理 – Donidon