首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >所有页面均可访问的ASP.Net Razor C#变量

所有页面均可访问的ASP.Net Razor C#变量
EN

Stack Overflow用户
提问于 2018-03-12 19:18:48
回答 2查看 1.7K关注 0票数 0

首先,请原谅我,并纠正我的术语。我非常确定用正确的词来表达我想要实现的目标。

我被赋予了建立一个ASP.Net剃刀网站的任务。这对我来说是新的东西。我精通PHP和ASP Classic。我需要弄清楚的是如何声明一个到处都可以访问的变量。我不知道在.net世界中,您是否将其称为全局变量或应用程序变量或其他什么。但是,下面是我在Classic ASP中如何做到这一点。

在Classic ASP中,我会有一个名为VarFunct.asp的文件。它将是我声明变量并拥有各种函数的文件,我可以从任何地方访问它。我会在我的所有页面上都包含VarFunct.asp文件。无论如何,这是我真正想要做的(写在我将如何在Classic ASP中做它)…

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SelLoc = Request("SelLoc")
If Len(Trim(SelLoc)) = 0 Then
    SelLoc = "All"
End If

在这种情况下,请求(“SelLoc”)可以是Request.QueryString或Request.Form。然后在我的网站中的任何地方,我都可以使用变量SelLoc。所以,简而言之...我需要能够设置一个变量。检查是否由Request.Form设置,如果不是,检查Request.QueryString,如果不是,则将值设置为“All”。我该怎么写呢?我该把它放在哪里呢?

当我使用Visual Studio2012创建网站时,我选择了剃刀网站( ASP.NET V2)。

这似乎应该是任何具有任何类型的服务器端编程的网站的基本基本任务,但是尝试在线查找信息和文档几乎是不可能的,但可能是因为我没有使用正确的术语来回答我的问题。我还没有找到任何关于设置变量的Razor教程,这些变量可以在整个网站上使用。

如果有人能在这里帮助我,告诉我需要做什么,或者给我一个好的教程,那就太好了。

EN

回答 2

Stack Overflow用户

发布于 2018-03-12 19:31:58

您要查找的内容名为Static Class/Member

这将允许您存储和共享整个应用程序的数据。

但!由于web服务器是多线程的,你不会想要这样做,否则你可能会遇到这样的情况:在你完成当前请求之前,数据会被另一个请求覆盖。

如果需要将数据从控制器传递到视图,可以使用ViewBag动态对象

如果您需要在其他任何地方使用数据(例如,在helper类中),那么就这样做

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HttpContext.Current.Application["VariableName"] = something

它基本上是一个字典,每个请求都有一个不同的Application对象

票数 2
EN

Stack Overflow用户

发布于 2018-03-12 20:28:09

有几种方法可以做到这一点。

对于您的示例,我假设此特定变量对于同时使用应用程序的不同用户可以是不同的。这更像是一个会话作用域,而不是应用程序作用域。

在这种情况下,您可以简单地使用继承并创建一个基础控制器和/或基础视图模型类,您的所有其他控制器和/或视图模型都继承自这个类。这样,您就可以在视图和控制器之间来回传递它,并在需要时读取/更新它。

您还可以使用asp.net中内置的Request、HttpContext和Session对象(如果它们适合您的需要)。他们的一些功能的简要概述可以在这里找到:https://docs.microsoft.com/en-us/aspnet/web-pages/overview/api-reference/asp-net-web-pages-api-reference -谷歌搜索特定的结果会产生大量的结果。

如果你真的想要Application scope,你当然可以使用静态类,因为你利用了静态方法。然后,您不需要在每个其他类中都包含该类,但在调用方法时,您需要对该方法进行全名限定。

不过,我不建议在这个级别使用静态变量。我无法想象在应用程序实例运行时,需要为每个用户更改的内容有多少。我们使用的大多数这类项都是缓存(通常是db查找之类的,我们不想每次都从db中检索,也很少更新)。如果你使用缓存,在更新它们时要非常注意你的线程安全。这是一个关于缓存的msdn:https://msdn.microsoft.com/en-us/library/aa478965.aspx -或者应用程序配置设置,比如应用程序环境。我们从配置文件中提取其中的大多数,并且它们是只读的,我们不会在应用程序的运行实例中更改它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49242945

复制
相关文章
ASP.NET Core 5.0 MVC中的 Razor 页面 介绍
Razor 是一个用于将基于服务器的代码嵌入到网页中的标记语法。 Razor语法由 Razor 标记、c # 和 HTML 组成。 通常包含 Razor 的文件的扩展名 cshtml
明志德道
2023/10/21
4810
ASP.NET Core 入门教程 6、ASP.NET Core MVC 视图布局入门
本篇代码以下代码进行调整:https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-02
KenTalk
2018/11/12
2.9K0
ASP.NET Core 入门教程 6、ASP.NET Core MVC 视图布局入门
.NET Core 学习资料精选:入门
本系列文章,主要分享一些.NET Core比较优秀的社区资料和微软官方资料。我进行了知识点归类,让大家可以更清晰的学习.NET Core。
梁规晓
2019/07/24
3.8K0
.NET Core 学习资料精选:入门
图文ASP.Net MVC Razor页面中HtmlHelper帮助程序的写法
明志德道
2023/10/21
1580
图文ASP.Net MVC  Razor页面中HtmlHelper帮助程序的写法
全面的ASP.NET Core Blazor简介和快速入门
   因为咱们的MongoDB入门到实战教程Web端准备使用Blazor来作为前端展示UI,本篇文章主要是介绍Blazor是一个怎样的Web UI框架,其优势和特点在哪?并带你快速入门上手ASP.NET Core Blazor(当然这个前提是你要有一定的C#编程基础的情况,假如你完全没有接触过C#的话建议你先从基本语法学起)。
追逐时光者
2023/06/16
1.4K0
全面的ASP.NET Core Blazor简介和快速入门
ASP.NET MVC的Razor引擎:RazorView
Razor引擎具有两个核心的类型,一个是表示View本身的类型RazorView,另一个则是获取和创建它的RazorViewEngine,我们将用两篇文章对它们分别进行剖析。Razor引擎下的View
蒋金楠
2018/01/15
1.3K0
ASP.NET MVC的Razor引擎:RazorView
ASP.NET MVC的Razor引擎:RazorViewEngine
基于Web Form引擎的WebFormViewEngine和针对Razor引擎的RazorViewEngine都是抽象类型BuildManagerViewEngine的子类,而后者又继承自VirtualPathProviderViewEngine。在这里我们仅仅对实现在RazorViewEngine中View获取的逻辑进行简单介绍。由于Razor引擎下的View通过RazorView对象来表示,而RazorView通过View文件的虚拟路径来构建,所以RazorViewEngine的View获取机制在于根
蒋金楠
2018/01/15
1.2K0
ASP.NET MVC的Razor引擎:RazorViewEngine
ASP.NET Core 入门教程 7、ASP.NET Core MVC 分部视图入门
本篇代码以下代码进行调整:https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-06
KenTalk
2018/12/21
2.1K0
ASP.NET Core 入门教程 7、ASP.NET Core MVC 分部视图入门
ASP.NET Core教程【一】关于Razor Page的知识
关键文件和目录结构 按照asp.net core WEB应用程序向导,创建一个工程之后 你会发现如下几个目录和文件 wwwroot:放置网站的静态文件的目录 Pages:放置razor页面的目录 appsettings.json:是应用的配置文件 bower.json:静态资源包管理的配置文件 Program.cs:这个程序负责承载ASP.NET Core应用 Startup.cs:初始化service的配置,初始化请求管道 下面我们单独说一下Pages目录 _Layout.cshtml 是整个网站的母板文
liulun
2018/01/12
2.6K0
正式开始学习ASP.NET Core 6 Razor Pages 介绍
我们将使用Visual Studio 2019使用 Razor Pages 创建新的Web应用程序。以下是步骤。
角落的白板报
2023/03/21
3.8K0
正式开始学习ASP.NET Core 6 Razor Pages 介绍
ASP.NET Core Razor Pages 初探
最近新建 Asp.net Core MVC 项目的时候不小心选错了个模板,发现了一种新的项目模板。它使用cshtml视图模板,但是没有Controller文件夹。后来才发现这是ASP.NET Core框架新推出的Razor Pages技术。
MJ.Zhou
2020/06/19
2K0
[翻译] ASP.NET Core 3.0 的新增功能
全文翻译自微软官方文档英文版 What's new in ASP.NET Core 3.0
梁规晓
2019/09/26
6.8K0
ASP.NET MVC学习笔记03视图
早在ASP.NET MVC 3就引入了Razor视图引擎( Razor view engine)。Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优 雅的方式来使用C#语言创建所要输出的HTML。用Razor编写一个视图模板文件时,将 所需的字符和键盘敲击数量降到了最低,并实现了快速,流畅的编码工作流程。 ---- 控制器返回指定视图 当前在控制器类中的Index方法返回了一个硬编码的字符串。更改HelloController方法返回一个 View对象,如下面的示例代码: 1 2 3 4
李郑
2018/03/01
2.1K0
ASP.NET MVC学习笔记03视图
使用.NET Core+Docker 开发微服务
.NET Core发布很久了,因为近几年主要使用java,所以还没使用过.NET Core,今天正好有一个c#写的demo,需要做成服务,不想再转成java来实现,考虑使用.NET CORE来尝下鲜,目标是开发一个微服务,然后部署到Docker swarm集群,供其他应用调用。
JadePeng
2018/09/27
3.2K0
使用.NET Core+Docker 开发微服务
Asp.NET Core 轻松学-项目目录和文件作用介绍
    上一章介绍了 Asp.Net Core 的前世今生,并创建了一个控制台项目编译并运行成功,本章的内容介绍 .NETCore 的各种常用命令、Asp.Net Core MVC 项目文件目录等信息,通过对命令的学习和操作,对项目结构的认识,进一步理解 Asp.Net Core 的运行机制和项目框架。
梁规晓
2019/10/22
2.9K0
Blazor - .NET Core平台的SPA开发框架快速上手
可以看出,Blazor是微软试图推出一个拜托现有的ASP.NET WebForm,MVC这类混合开发模型下的,应对当前单页WEB应用和前后端分离趋势的一次尝试。
李郑
2019/12/09
2.6K0
Blazor入门:ASP.NET Core Razor 组件
目录 关于组件 组件类 静态资产 路由与路由参数 组件参数 请勿创建会写入其自己的组参数属性的组件 子内容 属性展开 任意参数 捕获对组件的引用 在外部调用组件方法以更新状态 使用 @ 键控制是否保留
痴者工良
2021/04/26
2.8K0
创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性
本文首发于《创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性》
Rector
2021/08/19
5.3K0
创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性
Razor模板引擎
原因:类似于前边写的模板页,自己写了。还需要用replace来替换成自己想要的变量。。
静心物语313
2020/03/24
3.3K0
Razor模板引擎
如何在 ASP.NET MVC 中集成 AngularJS(1)
介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术。例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 REST 的 Web API 服务。另外,还有最新的数据库技术、最新的设计模式和技术。 当选择最新的软件技术时,有几个因素在起作用,其中包括如何将这些技术整合起来。过去两年中,我最喜欢的一项技术就是设计单页面应用(SPA)的 AngularJS。作为一个微软stack开发者,我也是使用 ASP.NET MVC 平台实现 MVC 设计模式和并进行研究的粉丝,包括它的捆绑和压缩功能
葡萄城控件
2018/01/10
7.6K0
如何在 ASP.NET MVC 中集成 AngularJS(1)

相似问题

(ASP.NET核心Razor页面)无法从其他页面访问会话变量

10

React Redux Store -所有组件均可访问

10

从布局页面访问会话变量ASP.NET MVC3 RAZOR

20

C# ASP.NET核心Razor页面-从Razor页面中调用PageModel方法?

15

C# ASP.NET核心Razor页面:如何访问标记中的路由约束

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文