.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页面相关推荐

  1. C语言中static静态变量

    静态变量的说明符是static static静态变量属于静态存储方式,其存储空间是 静态数据区(也就是存入全局存储区),静态数据区的数据在整个程序运行期间一直占用这些内存.也可以认为他的内存地址一直不 ...

  2. 3、如何证明static静态变量和类无关?

    如何证明static静态变量和类无关? 可以从以下三个方面证明static静态变量和类无关: 1.不需要初始化类就可以直接使用静态变量: 2.在类中写个main方法运行,即便不写初始化类的代码,静态变 ...

  3. php之static静态变量详解

    php之static静态变量详解 一.总结 把局部变量改变为静态变量后是改变了它的存储方式,即改变了它的生存期. 把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围. 二.php之sta ...

  4. C#中static静态变量的用法

    原文:C#中static静态变量的用法 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析 ...

  5. 对全局变量,static静态变量的理解

    如果所有的变量按照下面的程序进行定义和声明,那么在main()函数中所有可用的变量为 (). void fun(int x) {static int y;--return; } int z; void ...

  6. php的 静态变量,PHP之static静态变量详解

    在看别人项目过程中,看到函数里面很多static修饰的变量,关于static修饰的变量,作用域,用法越看越困惑,所以查了下资料. static用法如下: 1.static 放在函数内部修饰变量 2.s ...

  7. C语言 static静态变量

    静态变量类型说明符是static.静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都 ...

  8. static静态变量 与 常量

    变量: 在学习static静态变量之前,我们还是有必要来了解 变量 的意义.程序要对数据进行读.写.运算等操作,当需要保存特定的值或结果的时候就需要用到变量,在用户看来,变量是用来描述一条信息的名称, ...

  9. C语言 static静态变量的作用

    C语言 static静态变量的作用 static c语言的变量种类 静态变量通过关键字 static 进行声明,该变量存储在数据段上,也就是内存上,可以改变变量的作用域和生命周期. 对于局部变量作用域 ...

最新文章

  1. 订单×××的算法研究与实现
  2. AppCode下的cs类 取得相关路径
  3. linux phpinfo mysql_linux服务器 phpinfo 里面找不到 mysql 模块,也没有 pdo_mysql
  4. 浅谈《刺客信条》的叙事:刺客和圣殿骑士的冲突与融合
  5. python获取系统当前时间并转utc时间为绝对秒数_用Python将datetime.date转换为UTC时间戳...
  6. 利用URL拼接爬取获取有道翻译内容
  7. Typecho双栏博客免费主题—Splity
  8. CListCtrl行高问题最终解决方法
  9. 产品需求文档写作方法(一)写前准备+梳理需求
  10. 惠普打印机136w硒鼓芯片怎么清零_HP惠普打印机清零技巧
  11. 【NLP】基于神经网络PCNN(Piece-Wise-CNN)的关系抽取模型
  12. 微信小程序如何实现登陆功能
  13. python怎样分析文献综述_怎么写文献综述?
  14. java 聊天室 私聊_Java聊天室——实现多人聊天、私聊、群聊
  15. 解决cannot find grldr in all devices问题
  16. 并查集-A Bug's Life(poj2492)
  17. 常德市六中2021年高考成绩查询,铆足“牛劲”,奋蹄新征程! ——常德市六中2021届高三教师牛年备战新高考...
  18. 高并发系统的限流算法与实现
  19. 20189200余超 2018-2019-2 移动平台应用开发实践第七周作业
  20. 极地漩涡袭美中西部致多人死 芝加哥六成航班取消

热门文章

  1. RocketMQ分布式事务原理介绍
  2. R语言绘制矩阵散点图
  3. 数论基础——数论函数(1)
  4. 怎么找到appdata文件夹?
  5. #pragma omp parallel for
  6. 机票前台埋点的那些事儿
  7. confluence 使用教程
  8. PHP学习-3 端口开放
  9. 检测计量与计算机技术,有关计量检测中计算机信息技术的运用
  10. 关于onCreate(Bundle savedInstanceState, PersistableBundle persistentState)