0

Kendo Template 内の変数値の評価に問題があります。

このコードでは、変数controlIDが期待どおりに評価されました。"test"を返します。

<script id="treeview-template" type="text/kendo-ui-template">
    # var controlID= "test"; # 
    @Html.CheckBox("#=controlID#")
</script>

しかし、C# コード ブロックで使用すると、代わりに変数が"#=controlID#"として評価されました。

<script id="treeview-template" type="text/kendo-ui-template">
    # var controlID= "test"; # 
    @{
       Html.CheckBox("#=controlID#");
     }
</script>

Kendo Template の C# コード ブロック内の変数の正しい値を取得するにはどうすればよいですか?

どんな助けでも大歓迎です。

4

2 に答える 2

3

Kendo Templateは基本的に JavaScript に変換され、クライアント側 (ブラウザ内) で実行されます。

次の理由により、最初の構成が機能します

@Html.CheckBox('#=controlID#')

としてレンダリングされます

<input type="checkbox" name="#= controlID #" id="#= controlID #" />

後者は有効な剣道テンプレートです。

@{ }ただし、代わりに を使用しているため、他のコード ブロックは何も出力しません@。これは、HTML を出力しない実行可能なサーバー側コード (C#) のブロックを示しているだけです。

Phil Haack は、Razor の構文を説明する優れたブログ投稿を行っています: http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx

于 2013-02-26T18:55:29.743 に答える
0

私は剣道を自分で使用したことはありませんが、あなたが示した構文に基づいて、これが機能することを期待しています:

<script id="treeview-template" type="text/kendo-ui-template">
    # var controlID= "test"; # 
    @{
       Html.CheckBox(controlID);
     }
</script>
于 2013-02-26T08:06:52.797 に答える