2sxc - 不能使用 c# 变量
2sxc - Cannot use c# vars
我正在尝试使用 2sxc 视图通过 linq 创建一些统计信息。但是我似乎无法调用任何 c# var。这是一个例子:
@{
if (@Request.QueryString["ano"] == "" || @Request.QueryString["ano"] == null) {
<p>ano not set, using current year (@DateTime.Now.Year)</p>
var year = @DateTime.Now.Year;
} else {
<p>ano set (@Request.QueryString["ano"])</p>
var year = @Request.QueryString["ano"];
}
var items = AsDynamic(App.Data["entity"]);
items = items.Where(p => Convert.ToDateTime(p.data_a).Year == year);
}
这导致
error CS0103: The name 'year' does not exist in the current context
我是不是又在做傻事了?
您在 if
语句内声明变量并在 if
外引用它
现在您可以像这样重写代码:
@{
int year = 0;
if (@Request.QueryString["ano"] == "" || @Request.QueryString["ano"] == null) {
<p>ano not set, using current year (@DateTime.Now.Year)</p>
year = @DateTime.Now.Year; // no "var" keyword here!
} else {
<p>ano set (@Request.QueryString["ano"])</p>
year = int.Parse(Request.QueryString["ano"]);
}
var items = AsDynamic(App.Data["entity"]);
items = items.Where(p => Convert.ToDateTime(p.data_a).Year == year);
}
我正在尝试使用 2sxc 视图通过 linq 创建一些统计信息。但是我似乎无法调用任何 c# var。这是一个例子:
@{
if (@Request.QueryString["ano"] == "" || @Request.QueryString["ano"] == null) {
<p>ano not set, using current year (@DateTime.Now.Year)</p>
var year = @DateTime.Now.Year;
} else {
<p>ano set (@Request.QueryString["ano"])</p>
var year = @Request.QueryString["ano"];
}
var items = AsDynamic(App.Data["entity"]);
items = items.Where(p => Convert.ToDateTime(p.data_a).Year == year);
}
这导致
error CS0103: The name 'year' does not exist in the current context
我是不是又在做傻事了?
您在 if
语句内声明变量并在 if
外引用它
现在您可以像这样重写代码:
@{
int year = 0;
if (@Request.QueryString["ano"] == "" || @Request.QueryString["ano"] == null) {
<p>ano not set, using current year (@DateTime.Now.Year)</p>
year = @DateTime.Now.Year; // no "var" keyword here!
} else {
<p>ano set (@Request.QueryString["ano"])</p>
year = int.Parse(Request.QueryString["ano"]);
}
var items = AsDynamic(App.Data["entity"]);
items = items.Where(p => Convert.ToDateTime(p.data_a).Year == year);
}