通过Javascript从后台代码访问全局静态变量
本文关键字:全局 静态 变量 访问 代码 Javascript 后台 通过 | 更新日期: 2023-09-27 18:17:02
当从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函数。总是空的
任何想法?
我认为你只需要在你对'msg'的引用后面加上'+'
var msg213 = "<%= GetValue(" + msg + ") %>";
NET不像桌面应用程序,在另一个页面上编写的任何变量在移动到另一个页面时会丢失。您需要将值保存到持久的位置。
- <
- 会话/gh>缓存
- 数据库
- 应用或Web配置文件。
- 变量必须是常量或静态
试试这个
'<%= GetValue("Some Value") %>';
这意味着当页面呈现时,GetValue方法调用和返回字符串将写入文档主体,如response。写
这只会在页面呈现时发生,并且不会发生进一步的调用
我认为部分混乱来自于代码中的格式。如果您只查看服务器标记:<%= GetValue(" msg ") %>
,您将看到正在调用GetValue
方法,并且正在传入字面值字符串msg
。服务器标记本身周围有引号,但这些引号不影响服务器标记内部的内容。不是传递JavaScript函数的msg
参数的值。
服务器方法不能以这种简单的方式从JavaScript中调用,它需要使用类似AJAX的东西来完成。