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