在JavaScript函数中访问全局变量

时间:2012-11-02 19:19:59

标签: javascript asp.net-mvc-3 view global-variables

我正在使用C#asp.net mvc3。 在我的一个观点中,我说我声明一个这样的变量:

@{
    ViewBag.Title = "title"   
    string mystr;  
}

我需要在脚本的函数中设置变量mystr的值。如何从脚本中访问此变量? 假设我有一个像

这样的函数
<Script type="text/javascript">
function(){
    var st = "This string is for the global variable"
     mystr = st;
}
</script>

mystr稍后将在html代码中使用,如下所示: <h2>@mystr</h2>。 是否有类似的方法从函数中访问变量?

1 个答案:

答案 0 :(得分:0)

您的示例中的

mystr是{strong>服务器端变量,它存在于cshtml视图解析期间。所以你不能用客户端上的JS代码来影响它。你可以尝试这样的事情:

<script type="text/javascript">
window.mystr = @(mystr); // Set value while server side processing.
function(){
    var st = "This string is for the global variable"
    window.mystr = st; // Get/Set value
}
</script>

在客户端使用全局变量mystr,无论您需要什么。

如果你需要然后通过JS设置标题的文本,你可以用例如jQuery:

<h2 id="header"></h2>

JS:

$('#header').text(window.mystr);