在ASP.NET网页“网站”中,使用webmatrix(razor模板,c#代码)创建。
我可以在cshtml模板中设置一个变量'global'(AppState)而不执行该页面吗?
我知道我可以在页面上设置“AppState.Whatever =”,但我必须“访问”该页面,以便代码“运行”。
我可以在te cshtml模板中设置“Something.Whatever =”,而无需访问模板。 只有在保存这些页面时“编译”或解释这些页面,才能实现这一点。 这样的事情有可能吗?
谢谢!
答案 0 :(得分:1)
您可以将名为_AppStart.cshtml的文件添加到站点的根目录中。当第一次请求发送到您的应用程序时,它将执行。您可以在其中设置全局变量。
在我的文章中查找标题为“应用程序变量”的部分:http://www.mikesdotnetting.com/Article/192/Transferring-Data-Between-ASP.NET-Web-Pages
答案 1 :(得分:1)
您无法将变量设置为 _AppStart.cshtml 的全局变量。它不会将变量编译到所有页面。您可以尝试将以下内容添加到_AppStart.cshtml,但它只能将整数添加或编译到cshtml站点的所有页面。
App.MyInt = 0;
但是,您可以将名为Global.cs的文件添加到App_Code文件夹
using System;
using System.Collections.Generic;
using System.Web;
/// <summary>
/// This class specifies global variables
/// </summary>
public static class Global
{
public const string StringName = "Some String";
public const int IntName = 100;
// Or anything else you want to add
}