.Net Core MVC引入static静态变量到.cshtml页面
.Net Core MVC引入static静态变量到.cshtml页面
需求背景
笔者最近搭了一个.Net Core Web的框架,但是发布到服务器的子站点了,那么痛点是Ajax请求URL,涉及到本地调试和服务器之间的切换要不要加子站点的问题。
静态变量说明
静态变量并不是说其就不能改变值,不能改变值的量叫常量。 其拥有的值是可变的 ,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。(此段引用与某度知道,写的很明白)
解决方案
app.config
文件引入环境变量:
<add key="environment" value="Debug"/>
<!--<add key="environment" value="Prod">-->
BaseController
引入static静态变量
namespace Client.Controllers
{public class BaseController : Controller{public static string childSite = "";//复写父类的该方法。执行控制器中的方法之前先执行该方法。从而实现过滤的功能。public override void OnActionExecuting(ActionExecutingContext filterContext){if (ConfigurationManager.AppSettings["environment"] == "Prod"){childSite = "/ManageUATClient";}base.OnActionExecuting(filterContext); //调用父类的该方法。if (Request.Cookies["CurrentUser"] != null){}else{filterContext.Result = Redirect(childSite + "/Login/index"); ///ManageUATClient}}}
}
cshtml页面获取和赋值部分
变量放在隐藏域中
<input type="text" class="hidden" id="childSite" value="@Client.Controllers.BaseController.childSite">
Ajax请求URL拼接处理
url: $('#childSite').val() + "/Login/GetUserInfo",
总结
这样每次请求都会先根据环境变量判断初始化是否要加子站点,这样发布时只需要把config
里<add key="environment" value="Prod">
改下就可以了。
补充
<script src="@Href("~/Scripts/OperationalLog.js")"></script>
<img src="@Href("~/Images/NewIndex/Banner.png")" alt="">
url: "@Href("~/api/GetV_Articles")",
@Href
也可以解决子站点问题
仅供学习参考,如有侵权联系我删除
.Net Core MVC引入static静态变量到.cshtml页面相关推荐
- C语言中static静态变量
静态变量的说明符是static static静态变量属于静态存储方式,其存储空间是 静态数据区(也就是存入全局存储区),静态数据区的数据在整个程序运行期间一直占用这些内存.也可以认为他的内存地址一直不 ...
- 3、如何证明static静态变量和类无关?
如何证明static静态变量和类无关? 可以从以下三个方面证明static静态变量和类无关: 1.不需要初始化类就可以直接使用静态变量: 2.在类中写个main方法运行,即便不写初始化类的代码,静态变 ...
- php之static静态变量详解
php之static静态变量详解 一.总结 把局部变量改变为静态变量后是改变了它的存储方式,即改变了它的生存期. 把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围. 二.php之sta ...
- C#中static静态变量的用法
原文:C#中static静态变量的用法 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析 ...
- 对全局变量,static静态变量的理解
如果所有的变量按照下面的程序进行定义和声明,那么在main()函数中所有可用的变量为 (). void fun(int x) {static int y;--return; } int z; void ...
- php的 静态变量,PHP之static静态变量详解
在看别人项目过程中,看到函数里面很多static修饰的变量,关于static修饰的变量,作用域,用法越看越困惑,所以查了下资料. static用法如下: 1.static 放在函数内部修饰变量 2.s ...
- C语言 static静态变量
静态变量类型说明符是static.静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都 ...
- static静态变量 与 常量
变量: 在学习static静态变量之前,我们还是有必要来了解 变量 的意义.程序要对数据进行读.写.运算等操作,当需要保存特定的值或结果的时候就需要用到变量,在用户看来,变量是用来描述一条信息的名称, ...
- C语言 static静态变量的作用
C语言 static静态变量的作用 static c语言的变量种类 静态变量通过关键字 static 进行声明,该变量存储在数据段上,也就是内存上,可以改变变量的作用域和生命周期. 对于局部变量作用域 ...
最新文章
- 订单×××的算法研究与实现
- AppCode下的cs类 取得相关路径
- linux phpinfo mysql_linux服务器 phpinfo 里面找不到 mysql 模块,也没有 pdo_mysql
- 浅谈《刺客信条》的叙事:刺客和圣殿骑士的冲突与融合
- python获取系统当前时间并转utc时间为绝对秒数_用Python将datetime.date转换为UTC时间戳...
- 利用URL拼接爬取获取有道翻译内容
- Typecho双栏博客免费主题—Splity
- CListCtrl行高问题最终解决方法
- 产品需求文档写作方法(一)写前准备+梳理需求
- 惠普打印机136w硒鼓芯片怎么清零_HP惠普打印机清零技巧
- 【NLP】基于神经网络PCNN(Piece-Wise-CNN)的关系抽取模型
- 微信小程序如何实现登陆功能
- python怎样分析文献综述_怎么写文献综述?
- java 聊天室 私聊_Java聊天室——实现多人聊天、私聊、群聊
- 解决cannot find grldr in all devices问题
- 并查集-A Bug's Life(poj2492)
- 常德市六中2021年高考成绩查询,铆足“牛劲”,奋蹄新征程! ——常德市六中2021届高三教师牛年备战新高考...
- 高并发系统的限流算法与实现
- 20189200余超 2018-2019-2 移动平台应用开发实践第七周作业
- 极地漩涡袭美中西部致多人死 芝加哥六成航班取消