【发布时间】:2012-04-22 10:25:06
【问题描述】:
我尝试在 ASP.net C# 中使用以下代码:
@{
var Host = Request.ServerVariables["HTTP_HOST"];
if (Host.Contains("example.com")) {
var Online = true;
}
if (Online == true) {
// Analytics Code
}
}
但它返回错误。
我发现变量Online不能在外面使用,因为它的作用域仅限于声明它的IF语句。
通过反复试验,我发现以下代码有效:
@{
var Host = Request.ServerVariables["HTTP_HOST"];
if (Host.Contains("example.com")) {
Page.Online = true;
}
if (Page.Online == true) {
// Analytics Code
}
}
为什么第二个 sn-p 可以工作,尽管它不应该因为变量作用域预计会在关闭 IF 语句的 } 处结束?
谢谢
【问题讨论】:
标签: c# .net razor scope dynamic-typing