小编典典

如何将值从javascript变量传递到razor变量?

javascript

如何将值从javascript变量传递到razor变量,asp.net mvc razor视图引擎是否可能?

@{
    int a = 0;
}

<script>
    var b = ...
    @a = b;
</script>

阅读 1034

收藏
2020-05-01

共1个答案

小编典典

你不能 原因是他们不在同一时间“生活”。Razor变量是“服务器端变量”,在将页面发送到“客户端”后,它们不再存在。

当服务器收到视图请求时,它仅使用HTML,CSS和Javascript代码创建视图。没有C#代码,所有这些都被“翻译”为客户端语言。

当视图仍在服务器上时,存在Java脚本代码DO,但它毫无意义,只能由浏览器执行(再次由客户端执行)。

这就是为什么您可以使用Razor变量来更改HTML和Javascript而不是相反的原因。尝试查看您的页面源代码(在大多数浏览器中为CTRL +
U),那里没有C#代码的迹象。

简而言之:

  1. 服务器收到请求。

  2. 服务器创建视图,将视图中嵌入的所有C#代码转换为CSS,Javascript和HTML。

  3. 服务器将视图的客户端版本返回给浏览器,作为对请求的响应。

  4. 浏览器呈现页面并执行所有Javascript
2020-05-01