-1

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

4

1 回答 1

1

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

所以第一个是将html页面渲染中代码后面的变量作为数字提供给javascript,例如:

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

要呈现它,您有很多选择,例如,您可以使用 Literal 并将其呈现在后面的代码中:

<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,并将其发送到后面的代码中

于 2012-12-13T11:46:52.600 回答