在javascript - MVC应用程序中读取资源文件条目

时间:2013-10-18 16:01:20

标签: javascript asp.net-mvc function scope resourcebundle

我正在研究MVC应用程序,我需要读取资源文件并获取值,并将它们传递到javascript文件中。 为此,我只是从cshtml文件中调用一个用单独的js文件编写的js函数。此函数将具有资源文件值的参数传递给javascript中的函数。现在在js文件中,我在与上面的函数相同的命名空间中有另一个函数,我需要读取这些资源文件值。我怎么能这样做?

我的cshtml代码:

<script type="text/javascript">
Mynamespace.function2("@Globalstrings.Value1","@Globalstrings.Value2");
</script>

JS档案:

var Mynamespace ={
    function1: function(){
        Mynamespace.function2.getMess();   // I need to access value1 here in this function
    },

    function2: function(message1,message2){
        var value1 = message1;
        var value2 = message2;
        return{
          getMess: function(){ return value1;},
          getLab: function() { return value2;}
        }
    }
}

当我尝试上述操作时,我在getMess中未定义。 所以,我可以有2个选项,主要是可以接受的答案:

  1. 在js中读取资源文件值的其他任何方式?
  2. 上述js代码的任何修复
  3. 我实际上几小时前发布了这个问题(Accessing variable in another function, returns undefined - JavaScript),但仅限于javascript范围问题,但后来意识到我会发布实际问题。

    任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

你的返回对象中需要一个逗号来设置逗号。它仍然不起作用,但至少可以解决您的语法错误。

return {
    getMess: function(){ return value1;},
    getLab: function() { return value2;}
}

此外,在setvalue()中返回value1和value2似乎有点奇怪,我可以建议在getter中返回值吗?已在此Fiddle

中修复并重构