【问题标题】:asp.net core kendo ui grid custom command template not workasp.net core kendo ui 网格自定义命令模板不起作用
【发布时间】:2021-03-20 19:19:06
【问题描述】:

这是我的剑道 ui 网格命令:

                columns.Command(cmd =>
                {
                    cmd.Custom("CustomButton").TemplateId("commandsTemplate");

                }).Title("Commands").Width(250);

这是模板:

<script id="commandsTemplate" type="text/x-kendo-template">
    <div class='dropdown dropdown-inline'>
         <button type='button' class='btn btn-hover-brand btn-elevate-hover btn-icon btn-sm btn-icon-md' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'> <i class='flaticon-more-1'></i> </button>
         <div class='dropdown-menu dropdown-menu-right'>
            @(Html.ActionLink("Edit", "Details", "Blabla", new { id = "#: NameEn#" }, new { @class = "dropdown-item" }))
         </div>
    </div>
</script>

但生成的 url 正是:

http://localhost:56516/Blabla/Details/%23%3A%20NameEn%23

【问题讨论】:

    标签: asp.net-core kendo-ui telerik kendo-grid


    【解决方案1】:

    模板中的链接是使用 razor 语法创建的,该语法在发送到浏览器之前在服务器上运行。服务器不知道 #:NameEn# 是什么意思,因此在生成的 url 中直接使用它。

    您不能在 razor 语法中使用剑道模板语法。一个被评估客户端和另一个服务器端,因此它们不会混合。在这种情况下,只需将 Html.ActionLink 行替换为您可以在其中使用 #:NameEn#

    的实际 html

    比如:

    <a href="/Blabla/Details/#:NameEn#"></a>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多