0

我正在使用 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# 代码块

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

4

1 回答 1

1

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

<script>
var globalVariable = @globalVariable;
</script>
于 2013-02-26T18:49:38.500 回答