【发布时间】:2014-10-02 02:36:37
【问题描述】:
目前,我将 Html 存储在数据库中并填充到像这样的下拉列表中,我在 Razor 中使用@funcion:
private string getHtmlTemplate()
{
string value = "<select id='htmlTemplate'><option value=''>Html Template</option>";
int i = 0;
foreach (AdminHtmlTemplateModel htmlTemplateModel in Model.GetAdminHtmlTemplates())
{
value += string.Format("<option value='{0}'>{1}</option>", htmlTemplateModel.templateCode, htmlTemplateModel.templateName);
//value += string.Format("<option value='{0}'>{1}</option>", i++, htmlTemplateModel.templateName);
templateCodes.Add(htmlTemplateModel.templateCode);
}
value += "</select>";
return value;
}
问题是存储在 templateCode 上的 Html 与当前的 html 文件发生冲突/合并 如何解决这个问题,我仍然希望这些 Html 值与编辑器一起使用。 我尝试了某种方式,例如仅传递索引和函数的选项标记的值:
@fucntion{
private string getHtmlTemplate()
{
string value = "<select id='htmlTemplate'><option value=''>Html Template</option>";
int i = 0;
foreach (AdminHtmlTemplateModel htmlTemplateModel in Model.GetAdminHtmlTemplates())
{
value += string.Format("<option value='{0}'>{1}</option>", i++, htmlTemplateModel.templateName);
}
value += "</select>";
return value;
}
}
<script>
$("#htmlTemplate").kendoDropDownList({
change: function (e) {
editor.exec("inserthtml", { value:@Model.GetAdminHtmlTemplateCodeByIndex(@:e.sender.value()) });
}
});
</script>
但它不起作用,因为我们不能将 razor 的 jquery 值传递给函数,对吧?
请帮助我。谢谢
【问题讨论】:
-
为什么不把 " 换成 ' ?
-
将模板放在局部视图中并通过JS加载
-
大家都试过
@Html.Encode()吗? -
我发现我可以在 Razor 中使用 javascript escape/unescape 对 Html 值进行编码/解码,但主要问题是与 KendoUI MVC 编辑器的 CustomControl 一起使用时,它不允许将 Html 插入编辑器。谢谢大家的回复。
标签: asp.net-mvc razor