【发布时间】:2014-08-07 15:34:49
【问题描述】:
在从 javascript 调用的代码隐藏函数中获取静态变量时,我在访问类中的静态变量时遇到了一些问题。
我的aspx页面:
<script type="text/javascript">
function AlertMsg(msg) {
var msg213 = "<%= GetValue(" msg ") %>";
alert(msg + '::' + msg213);
}
</script>
后面的代码:
public string GetValue(string sString)
{
return MyNamespace.MyClass.MyStaticVariable;
}
我在另一个页面的 page_load 中设置了这个变量。我通过从 C# WebBrowser 应用程序调用它来访问 javascript 函数。它总是空的。
有什么想法吗?
【问题讨论】:
-
实际发生的是在服务器上调用
GetValue,而您传入的参数是字符串文字" msg "。 JavaScript 在客户端上运行,服务器标记(例如<% %>)在服务器生成页面输出时执行。 -
您可能不想这样做,但您可以将值加载到隐藏字段中,以便客户端可用。
-
生成的 HTML/JS 长什么样子?
-
但是在尝试获取静态值的值之前是否加载了其他页面?最好将类设为静态并使用静态构造函数来初始化值。否则使用 global.asax 文件。
-
我在运行时设置值。之后我尝试调用 javascript 函数来获取变量(通过 WebBrowser.InvokeScript),但随后它显示为 NULL。
标签: c# javascript asp.net