1

我正在尝试C# in javascript像我们在 using 中使用它一样使用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 var 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 回答