2

我正在编写一个使用给定电子邮件模板生成多条消息的应用程序。

电子邮件解析器工作正常。我正在使用 RazorEngine 创建电子邮件模板。

问题是我需要使用以下构造(一个简单的 foreach)生成一个表:

<table>
<tbody>
<tr><th>Pedido</th><th>NF</th><th>Boleto</th><th>Vencimento</th><th>Valor</th></tr>
@foreach (dynamic item in Model.PagamentosEmAtraso) {
<tr>
<td valign="top" width="76">
<p align="center"><span style="font-size: small;">@item.NumeroPedido</span></p>
</td>
<td valign="top" width="60">
<p align="center"><span style="font-size: small;">@item.NumeroNotaFiscal</span></p>
</td>
<td valign="top" width="88">
<p align="center"><span style="font-size: small;">@item.NumeroBoleto</span></p>
</td>
<td valign="top" width="128">
<p align="center"><span style="font-size: small;">@item.DataVencimento.ToString("dd/MM/yyyy")</span></p>
</td>
<td valign="top" width="119">
<p align="center"><span style="font-size: small;">@item.ValorLiquido.ToString("C2") </span></p>
</td>
</tr>
}
</tbody>
</table>

当我退出 html 编辑器时,tinymce 会弄乱我的代码,“修复”我的代码,如下所示:

@foreach (dynamic item in Model.PagamentosEmAtraso) {}
<table>

这是在新版本的 tinymce 上发生的问题 - 它曾经接受这种标记。

是否有任何可行的解决方案让 tinymce 接受可能损坏的 html 而无需尝试修复它?

我的tinymce配置是:

function initializeTinyMce() {
    $('textarea.tinymce').tinymce({
        // Location of TinyMCE script
        script_url: '/Scripts/tinymce/tiny_mce.js',

        // General options
        theme: "advanced",
        plugins:  " pa geb reak,legacyoutput,style,layer,table,save,advimage,advlink,emotions,iespell,inlinepopups,preview,media,searchreplace,print,c  o nt extmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
        width: "960",
        height: "500",
        entity_encoding: "raw",


        // Theme options
        theme_advanced_buttons1:  " bo ld, italic,underline,strikethrough,sub,sup,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontse  l ec t,fontsizeselect",
        theme_advanced_buttons2:  " cu t,c opy,paste,pastetext,pasteword,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,image,cleanup,help,code,|,insert  d at e,inserttime,preview,|,forecolor,backcolor",
        theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,||,fullscreen",
        theme_advanced_toolbar_location: "top",
        theme_advanced_toolbar_align: "left",
        theme_advanced_statusbar_location: "bottom",
        theme_advanced_resizing: true,

        // Example content CSS (should be your site CSS)
        //content_css: "/Content/site.css",

        // Drop lists for link/image/media/template dialogs
        template_external_list_url: "lists/template_list.js",
        external_link_list_url: "lists/link_list.js",
        external_image_list_url: "lists/image_list.js",
        media_external_list_url: "lists/media_list.js",

        // Replace values for the template plugin
        template_replace_values: {
            username: "Some User",
            staffid: "991234"
        }           
    });
 }
4

1 回答 1

0

从 3.4 开始,无法再使用配置设置关闭 tinymce 验证器。html 必须是有效的,但您可以定义 tinymce 验证器接受的有效内容和不接受的内容。仔细查看 tinymce 配置参数 valid_elments 和 valid_children。

于 2013-02-20T16:14:23.100 回答