Kendo UI Grid - 客户端模板:转义 # 符号
Posted
技术标签:
【中文标题】Kendo UI Grid - 客户端模板:转义 # 符号【英文标题】:Kendo UI Grid - Client Template: Escaping # sign 【发布时间】:2015-10-15 08:41:46 【问题描述】:我正在使用 Kendo UI 的网格以及 Twitter Bootstrap。
Twitter Bootstrap 有一个内置的弹出窗口/模式,可以通过以下方式调用:
<a href="#" class="text-yellow" data-toggle="modal" data-target="#login">Login</a>
在我的 Kendo UI 网格中,我有一个自定义列模板:
columns.Template(e => ).ClientTemplate("<span data-toggle='modal' data-target='#login' title='Flag Animals as Dead or Deceased' style='cursor:pointer;' class='glyphicon glyphicon-flag flag-dead text-red'></span>").Width(50);
这是我遇到问题的地方,如果您注意到了,您需要使用 # 号指定模态窗口的 Id。即data-target='#login'
每当我的网格模板中出现# 符号时,网格就会中断。我怎样才能摆脱这个标志?
【问题讨论】:
【参考方案1】:你可以使用像这样data-target='\#login'
这样的\字符来转义#
更新: 来自 Telerik 文档kendo templates
如果您的模板包含文字 # 字符,它不是绑定表达式的一部分,也不是脚本代码标记,那么您必须转义该字符,否则会导致模板编译错误。例如,如果在超链接 URL 或 CSS 颜色值中使用 # ,就会发生这种情况。 javascript 字符串中的文字 # 用 \\# 转义,而外部 html 脚本模板中的文字 # 用 \# 转义。
【讨论】:
请记住,C# Razor 本身需要转义反斜杠,JavaScript 也是如此。要在 Kendo 客户端模板中使用单个反斜杠来转义#
,我需要在我的 Razor 代码中输入 four!以上是关于Kendo UI Grid - 客户端模板:转义 # 符号的主要内容,如果未能解决你的问题,请参考以下文章