在javascript中使用c#代码

在javascript中使用c#代码,javascript,jquery,asp.net-mvc-3,c#-4.0,Javascript,Jquery,Asp.net Mvc 3,C# 4.0,我试图在javascript中使用C#,就像我们在MVC Razor视图中使用它一样 假设一个数组名称列表被传递到视图,这样我们就可以在视图中访问它,比如: 查看 Length of array : <input type="text" value="@Model.list.Length" /> Or we can iterate list array also like: @for(int i=0; i<

我试图在javascript中使用
C#
,就像我们在
MVC Razor视图中使用它一样

假设一个
数组名称列表
被传递到
视图
,这样我们就可以在
视图
中访问它,比如:

查看

     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]);
         }
数组长度:
或者我们也可以迭代列表数组,如下所示:
@对于(int i=0;i
但我的问题是如何在javascript代码中迭代或使用该数组,类似于:

JS

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

for(var i=0;i您不能完全那样做。您可以使用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...
/…javascript代码。。。
@对于(var i=0;i
该输出应如下所示:

//...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...
/…javascript代码。。。
$(“body”).append(“”.html(listitem0);
$(“body”).append(“”.html(listitem1);
$(“body”).append(“”.html(listitem2);
//等等。
//…更多javascript代码。。。

您不能完全那样做。您可以使用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...
/…javascript代码。。。
@对于(var i=0;i
该输出应如下所示:

//...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...
/…javascript代码。。。
$(“body”).append(“”.html(listitem0);
$(“body”).append(“”.html(listitem1);
$(“body”).append(“”.html(listitem2);
//等等。
//…更多javascript代码。。。

正如我在评论中所说,这有点棘手。但是,您可以尝试用c#构造一个javascript对象

类似这样的东西(我不知道它到底是如何工作的…):


现在您有了一个js var
数组,您可以在整个文档中使用它。

正如我在评论中所说的,这有点棘手。但是,您可以尝试用c#构造一个javascript对象

类似这样的东西(我不知道它到底是如何工作的…):


现在您有了一个js var
数组
,您可以在整个文档中使用它。

您(通常)无法在客户端运行C#,Javascript通常在客户端运行。这就像在车内骑自行车。两者都是车辆,并且有单独的道路。C#在服务器上运行。JS在浏览器中运行。要实现这一点,您需要一个预处理器,它将
C#
命令转换为本机JS。这对于普通Java来说非常容易如果你的预处理器能够将
C#
-对象转换为
JS
对象,那么你就可以这样做。如果不能,你就不能,因为你将无法访问数组的值。对于模板,你可以(通常)这样做无法在客户端运行C#,Javascript通常在客户端运行。这就像在车内骑自行车。两者都是车辆,并且有单独的道路。C#在服务器上运行。JS在浏览器中运行。要实现这一点,您需要一个预处理器,它将
C#
命令转换为本机JS。这对于普通Java来说非常容易如果你的预处理器能够将
C#
-对象转换为
JS
对象,那么你就可以这样做。如果不能,你就不能这样做,因为你将无法访问数组的值。对于模板你可以这样做,我想构建JS数组并在其上循环会更干净。我还想line-inside for-loop-inside
标记。我想构建js数组并在其上循环会更干净。我还将line-inside for-loop-inside
标记。应该注意的是,如果这些值是字符串,它将不会自动生成引号,因此它们将作为变量而不是文本字符串进行处理。否则,很好,干净的答案。应该注意的是,如果这些值是字符串,它将不会自动生成引号,因此它们将作为变量而不是文本字符串进行处理。否则,请使用漂亮的干净答案。