2012-12-13 48 views
-1

我知道我们可以使用eval并访问C#代码中声明的公共属性来访问服务器端变量。然而,这并不是建议作为最安全的方式来做到这一点。在java-script中访问服务器变量的最佳方法是什么? 请举例说明ASP.Net网页表单?在客户端代码(Javascript)中访问服务器数据或变量

+1

没有办法访问使用客户端的JavaScript服务器端变量。 –

回答

1

服务器端的变量与客户端的变量位于不同的Universe中。这两个Universe位于不同的计算机上,它们之间的唯一通信是页面视图,以及回发到服务器。

所以第一个是给从代码中的变量背后的HTML页面的呈现到JavaScript作为一个编号,例如:

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

来呈现你有很多选择,例如,你可以使用一个文字并使其在后面的代码为:

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

并在后面的代码:

txtScriptOnMe.Text = "<script> var OurVariable = 334; </script>"; 

现在ÿ你实际上已经在客户端发送334。在使用javascript进行修改后,下一步是在服务器上发回新号码 - 这可以仅在PostBack或Ajax Call中完成,并且可以使用隐藏输入。

例如,你有这个输入<input id="hidden1" type="hidden" runat="server" />和使用JavaScript,你可以改变它的值,并将其发送回服务器端,然后从后面的代码中读取它,并且你去了 - 你有一个来自代码背后变量的通信并在JavaScript上。

比如,你可以写JavaScript的

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

,并更改到221,并发送对后面的代码

+0

好,所以你说我可以在javascript中定义变量,但是我想要在c#代码中定义一个动态获取值的服务器端变量。 – hussian

相关问题