【问题标题】:Kendo Treeview Remote Binding c# variable inside templateKendo Treeview远程绑定模板内的c#变量
【发布时间】:2013-02-26 10:18:28
【问题描述】:

我正在使用 MVC Razor 视图和 Kendo Controls

如何保留驻留在我的 C# 代码块中但同时在我的 Kendo 模板中也可用的全局变量,以便我可以为我获取的每个项目增加它?

我需要的是这个:

剑道树状图:

@(Html.Kendo().TreeView()
  .Name("DatasourceTreeview")
  .DataTextField("ControlId")
  .DataSource(dataSource => dataSource
  .Read(read => read
    .Action("RetrieveTreeviewItems", "Customizer")
    .Data("submitParams")).Events(e => e.RequestStart("loadParams")))
   .TemplateId("treeview-template")
  )

变量:

@ { int globalVariable = 1; }

模板:

<script id="treeview-template" type="text/kendo-ui-template">  
 # switch (item.ControlType) {
     case "control1": #
        globalVariable += 1;
     # break; #
     # case "control2": #
        globalVariable += 2;
     # break; #
     # default: #
        globalVariable += 3;
     # break; #
</script>

结果: 递增的globalVariable

通过模板并渲染树视图后,我想使用递增的globalVariable。但是 C# 变量本身在模板中是不可见的。我该怎么办;

  • 在 C# 代码块中初始化一个变量,然后将其传递给模板
  • 根据检索到的数据递增
  • 将其传递回 C# 代码块

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: c# templates razor kendo-ui kendo-treeview


    【解决方案1】:

    您需要创建一个 JavaScript 变量,因为 Kendo 模板只不过是 JavaScript 代码。方法如下:

    <script>
    var globalVariable = @globalVariable;
    </script>
    

    【讨论】:

    • 感谢您的回复。我已经尝试了您的解决方案,并且能够在脚本(javascript)中使用变量的值。但我的问题是,如何检索变量的值并在脚本(C#)之外使用它。你知道我怎样才能做到这一点吗?
    • 如果您想在服务器端使用 JavaScript 变量,您需要将其发布在隐藏字段中。然后它可以作为您的操作方法的参数访问。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多