0

MVC Razorビューと Kendo Controlsを使用しています

C# コード ブロックに存在するグローバル変数を保持すると同時に、剣道テンプレート内でも利用できるようにして、フェッチするすべてのアイテムに対してそれをインクリメントできるようにするにはどうすればよいですか?

私が必要とするのはこれです:

剣道ツリービュー:

@(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 コードに他ならないため、JavaScript 変数を作成する必要があります。方法は次のとおりです。

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