如何访问.net MVC3中javascript函数中的c#变量值

How to access c# variable value in javascript function in .net MVC3?

本文关键字:javascript 函数 变量值 MVC3 net 何访问 访问      更新时间:2024-06-08

我想访问javascript函数中的一个c#变量值,该函数的代码类似于下面的代码片段:

@{ var i=0; }

....

<script type="javascript">

function MyObjects(e) {

for (j = 0; j <= @i; j++) {....}

</script>

.....{ i=@i+1;}

您不能从JavaScript"访问"C#变量,因为C#代码在服务器端运行以呈现HTML,而包括生成的JavaScript在内的HTML在客户端浏览器中运行。

如果你想将C#变量的值呈现到客户端上运行的JavaScript代码中,你的代码

for (j = 0; j <= @i; j++) {....}

就是这样。

但是,如果您期望

{ i=@i+1;}

在客户端上运行并影响服务器上的状态,则不会。

解决方案

如果您需要在不将HTML页面发布回服务器的情况下从JavaScript更新服务器上的某些内容的状态,可以通过Ajax回调来完成。

您可以很容易地将C#/Razor值作为字符串获取。

<script type="text/javascript">
    var i = parseInt("@i");
</script>