1

C# in javascriptを使用しているようにMVC Razor View使用しようとしていますが@ sign

anarray name listが に渡され、次のViewようにアクセスできるとしますView

意見

     Length of array :  <input type="text"  value="@Model.list.Length" />

                  Or we can iterate list array also like:

         @for(int i=0; i< Model.list.Length; i++)
         {
             console.log(Model.list[i]);
         }

しかし、私の質問は、JavaScript コードでこの配列を反復または使用する方法です。次のようなものです。

JS

      for(var i=0; i<@Model.list.Length; i++)
      {
        $("body").append("<h1></h1>").html(@Model.list[i]);
      }

ありがとう !

4

2 に答える 2

1

コメントに投稿したように、これは少し注意が必要です。ただし、c#を使用してjavascriptオブジェクトを作成することはできます。

このようなもの(これが正確にどのように機能するかはわかりません...):

var array = [
   @for(var i = 0; i < Model.list.Length-1; i++){  @Model.list[i] , }
   @Model.list[length]
]

結果は次のようになります。

var array = [
         val1,
         val2,
         val3,
         valn
] 

これでjs変数arrayができたので、ドキュメント全体で作業できます。

于 2012-06-04T13:23:14.720 に答える
0

正確にはそのようにすることはできません。できることは、C# を使用して、次のように各行の JavaScript コードを生成することです。

//...javascript code...

@for(var i = 0; i < Model.list.Length; i++)
{
    $("body").append("<h1></h1>").html('@(Model.list[i])');
}

//...more javascript code...

これは次のように出力されます。

//...javascript code...

$("body").append("<h1></h1>").html(listitem0);
$("body").append("<h1></h1>").html(listitem1);
$("body").append("<h1></h1>").html(listitem2);
//etc.

//...more javascript code...
于 2012-06-04T13:17:30.503 に答える