【问题标题】:Kendo UI Grid - Client Template: Escaping # signKendo UI Grid - 客户端模板:转义 # 符号
【发布时间】: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'

每当我的网格模板中出现# 符号时,网格就会中断。我怎样才能摆脱这个标志?

【问题讨论】:

    标签: c# twitter-bootstrap kendo-ui kendo-grid kendo-asp.net-mvc


    【解决方案1】:

    你可以使用像这样data-target='\#login'这样的\字符来转义#

    更新: 来自 Telerik 文档kendo templates

    如果您的模板包含文字 # 字符,它不是绑定表达式的一部分,也不是脚本代码标记,那么您必须转义该字符,否则会导致模板编译错误。例如,如果在超链接 URL 或 CSS 颜色值中使用 # ,就会发生这种情况。 Javascript 字符串中的文字 # 用 \\# 转义,而外部 HTML 脚本模板中的文字 # 用 \# 转义。

    【讨论】:

    • 请记住,C# Razor 本身需要转义反斜杠,JavaScript 也是如此。要在 Kendo 客户端模板中使用单个反斜杠来转义 #,我需要在我的 Razor 代码中输入 four
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多