访问客户端代码(Javascript)中的服务器数据或变量

访问客户端代码(Javascript)中的服务器数据或变量,javascript,asp.net,security,server-variables,Javascript,Asp.net,Security,Server Variables,我知道我们可以使用eval并访问C#code中声明的公共属性来访问服务器端变量。但是,不建议将此作为最安全的方法。在java脚本中访问服务器变量的最佳方法是什么? 请给出ASP.Net web表单的示例?服务器端的变量与客户端的变量所处的环境不同。这两个世界在不同的计算机上,它们之间的唯一通信是查看页面,并将帖子发回服务器 因此,首先是将html页面呈现时代码隐藏中的变量作为数字提供给javascript,例如: <script> var OurVariable = 334; &l

我知道我们可以使用eval并访问C#code中声明的公共属性来访问服务器端变量。但是,不建议将此作为最安全的方法。在java脚本中访问服务器变量的最佳方法是什么?
请给出ASP.Net web表单的示例?

服务器端的变量与客户端的变量所处的环境不同。这两个世界在不同的计算机上,它们之间的唯一通信是查看页面,并将帖子发回服务器

因此,首先是将html页面呈现时代码隐藏中的变量作为数字提供给javascript,例如:

<script>
 var OurVariable = 334;
</script>

var-OurVariable=334;
要呈现它,您有许多选项,例如,您可以使用文字并在代码隐藏中呈现它,如下所示:

<asp:Literal runat="server" ID="txtScriptOnMe" />

关于代码隐藏:

txtScriptOnMe.Text = "<script> var OurVariable = 334; </script>";
txtScriptOnMe.Text=“var OurVariable=334;”;
现在您实际上已经在客户端发送了334。在使用javascript修改之后,下一步是在服务器上发回新号码——这只能通过回发、Ajax调用和使用隐藏输入来完成

例如,您有这个输入
,使用javascript您可以更改它的值并将其发送回服务器端,然后从代码隐藏中读取它,然后就可以了——您可以通过代码隐藏和javascript上的变量进行通信

例如,您可以在javascript上编写

OurVariable = 221;
document.getElementById("<%=hidden1.ClientID%>").value = OurVariable;
OurVariable=221;
document.getElementById(“”).value=OurVariable;

将其更改为221,并在代码后面发送

无法使用客户端javascript访问服务器端变量。好的,你是说我可以在javascript中定义变量,但是我想选择一个在c代码中定义的服务器端变量,动态获取值。