我有一个微型网站结构。我正在使用公共静态变量通过使用HTTP QueryString更改其内容。我在App_Code中定义了许多公共变量。但是许多用户的快速关闭请求,公共静态vars值相互覆盖,而微型站点内容可能对QueryString值是错误的。我在包含的cshtml文件的某些部分中使用了全局vars
App_Code
public class MyCommonClass
{
public static string SitePrefix { get; set; }
public static void SetSitePrefix(string _Prefix)
{
MyCommonClass.SitePrefix = _Prefix;
}
public static void ConfigureSite()
{
string _QsPrefix = string.IsNullOrWhiteSpace(HttpContext.Current.Request.QueryString["stx"]) ? "" : HttpContext.Current.Request.QueryString["stx"];
MyCommonClass.SetSitePrefix(_QsPrefix);
}
}
settings.cshtml
@{
if(MyCommonVars.SitePrefix == "foo")
{
Response.Write("Opps");
}
}
index.cshtml
@RenderPage("settings.cshtml")
@RenderPage("head.cshtml")
@RenderPage("body.cshtml")
@RenderPage("bottom.cshtml")
body.cshtml
@{
Response.Write(MyCommonVars.SitePrefix);
}
我想在settings.cshtml的首页上定义vars,我只想在当前http请求页面的所有cshtml文件中使用它。