2012-07-30 50 views
1

我想访问一个javascript函数,其代码类似于下面这个片段里交流#变量值:如何访问.net MVC3中javascript函数的c#变量值?

@{ var i=0; }

....

<script type="javascript">

function MyObjects(e) {

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

</script>

..... { [email protected]+1;}

+0

这甚至没有错。你究竟想要完成什么? – asawyer 2012-07-30 15:34:03

+0

当我访问我内部JavaScript值时,我可以找到它的值为0,而不是更新的值。 – user1545987 2012-07-30 15:34:09

+0

我知道这行不通,但你要做什么?你为什么要这样做? – asawyer 2012-07-30 15:36:15

回答

3

你不能“访问”从JavaScript的,因为C#代码在服务器端运行呈现HTML一个C#变量,包括生成的JavaScript的HTML在客户端运行浏览器。

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

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

做到了这一点。

但是,如果你希望

{ [email protected]+1;} 

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

解决方案

如果您需要在不发布的HTML页面返回给服务器来更新从JavaScript的服务器上的东西的状态,你可以做到这一点的Ajax回调。

1

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

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

谢谢大家。我得到了我想要的东西。 – user1545987 2012-07-30 15:45:06