0

どうすればそれができますか?

$for (var i = 0; i < model.CategoryList.length; i++) {
   var text = model.CategoryList;
   categories += '<span class="label label-info">' + @((AgesCategory)int.Parse( ..... )).GetDescription() + '</span>';
 }

int.Parse( ..... ))をJS コードのint.Parse(model.CategoryList[i])に置き換える必要があります。テキスト変数をint.Parse( ... )に追加できません。intellisenseは、このコードを JS ではなく C# コードのように検出しました。

アップデート:

質問を再定式化してみます: How I can set value C# variable from JS variable?

<script>
    var temp1 = 1;   // js var
    @{ string temp2 = 0 ;}  // c# var
    @{ temp2 = temp1 } // how do it?
    var temp2 = @(((MyEnumType)int.Parse(temp2).GetEnumDescription()));  //js var
</script>

何を使う必要がありますか?'@:' または、他の何か?いずれの場合も、構文エラーが発生します

4

2 に答える 2

0

ビュー内の <script> ブロック内で @ 式を使用できることを理解してください。その場合、開発者ツールによっては JavaScript コード ブロックのコード カラーリングや Intellisense が表示されない場合がありますが、サイトのコンパイルおよび実行機能が損なわれることはありません。

HTH、クレイ

于 2012-10-30T21:12:03.537 に答える
0

私はそれが可能だとは思わない。JavaScript は実行時に実行されるため、C# はコンパイルされますが、実行時の JavaScript の値がわからないため、エラーになります。

C# での「動的」型に関する研究を行うことができます。これは実行時に使用されます。

しかし、申し訳ありませんが、C# で言語を超えて実行できることはわかっていますが、「動的」の有効期限があまりないため、ここでデモを書くことはできません。この提案しかできません。

于 2012-10-31T08:11:04.273 に答える