2010-01-23 70 views
3

我使用jTemplate在我的页面中显示rss项目。但每个项目的描述不能正确显示。jTemplate和MicrosoftAjaxTemplates对html进行编码或解码(浏览器未呈现为html)

我的模板是:

<table> 
    <thead> 
    <tr> 
     <th>Date</th> 
     <th>Title</th> 
     <th>Description</th> 
    </tr> 
    </thead> 
    <tbody> 
    {#foreach $T.Items as post} 
    <tr> 
     <td>{$T.post.PubDate}</td> 
     <td><a href="{$T.post.Link}">{$T.post.Title}</a></td> 
     <td>{$T.post.Description}</td> 
    </tr> 
    {#/for} 
    </tbody> 
</table> 

但呈现页面时,我看到标签(或编码的标签),而不是呈现HTML中描述柱:

& LT;表边界= 0宽度= valign = top cellpadding = 2 cellspacing = 7 & gt; & lt; tr & gt; & lt; td width = 80 align = center valign = top & gt; & LT;字体风格 = "字体大小:85%;字体家庭:Arial字体,无衬线" & GT; ....

并且当服务器端的HTML解码,请参见:

<表边界= 0宽度= VALIGN =顶部 CELLPADDING = 2 CELLSPACING = 7 > <TR> < TD 宽度= 80 ALIGN =中心 VALIGN =顶部> <字体 风格= "字体大小:85%; FONT-FAMILY:宋体,无衬线" > ....

什么问题?

注意:我使用MicrosoftAjaxTemplates进行测试,看到相同的问题,但使用字符串时可以像$('.desc')。append('any html tag');

回答

2

jTemplates默认转义HTML。您可以通过更改optional settings object一个属性作为像这样的第三个参数更改:

.setTemplate("#template", null, { filter_data: false });

+0

感谢杰夫,我会检查它 – Hamid 2010-08-21 06:44:06

+0

非常感谢杰夫,这对我的工作! – VinnyG 2010-09-15 20:52:15