Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MVC应用程序中需要全局变量_Javascript_Asp.net Mvc_Razor - Fatal编程技术网

Javascript MVC应用程序中需要全局变量

Javascript MVC应用程序中需要全局变量,javascript,asp.net-mvc,razor,Javascript,Asp.net Mvc,Razor,我对ASP.Net、Razor和MVC很陌生 如何在MVC应用程序的所有页面上声明和访问全局变量?有时,这个变量也会通过java脚本设置其值 我尝试了会话和应用程序对象,但没有任何用处 有什么帮助吗?我在这里看到了其他帖子,但似乎不适合 请帮助。服务器端: 您可以在此处阅读更多内容: 对于javascript: 如果我是你,我需要在许多页面上实现这样一个全局javascript变量,我会使用: a) 或 b) 我知道你说会话“毫无用处”,但这听起来像是你最简单的解决方案。您可以设置一个类来处理对

我对ASP.Net、Razor和MVC很陌生

如何在MVC应用程序的所有页面上声明和访问全局变量?有时,这个变量也会通过java脚本设置其值

我尝试了会话和应用程序对象,但没有任何用处

有什么帮助吗?我在这里看到了其他帖子,但似乎不适合


请帮助。

服务器端: 您可以在此处阅读更多内容:

对于javascript: 如果我是你,我需要在许多页面上实现这样一个全局javascript变量,我会使用:

a) 或
b) 我知道你说会话“毫无用处”,但这听起来像是你最简单的解决方案。您可以设置一个类来处理对会话的读/写操作,然后在所有控制器和视图中引用该类

创建一个sessionvariables类…或者任何你想调用的类

using ...
namespace Application.Data
{
    public static class SessionVariables
    {
        private static object GetValue(string AttrName)
        {
            return HttpContext.Current.Session[AttrName];
        }
        private static void SetValue(string AttrName, object AttrValue)
        {
            HttpContext.Current.Session[AttrName] = AttrValue;
        }

        public static int PageIndex
        {
            get => (int?)GetValue("pageIndex") ?? 0;
            set => SetValue("pageIndex", value);
        }
    }
}
要在您的视图中引用

@using Application.Data
@{
    var index = SessionVariables.PageIndex;
}

同样的逻辑也可用于控制器。

如果需要,请重新考虑。如果您必须使用全局变量,这意味着您的架构不够好。对于配置变量,请使用web.config变量。@Ridikk12的可能重复项是right use web.config-并在控制器中使用,如-ConfigurationManager.AppSettings[“ServiceName”]。注意,返回字符串形式,因此int必须对其进行解析。