我有一个年份的下拉列表,问题是我想检查列表中的最新年份并添加1。因此,如果列表中的最新年份是2011年,我将手动添加1,以显示2012年……这是我的代码供您参考。
var b = (from a in sampleworker.getyear()
orderby a.Year
select new
{
a.Year
}
).Distinct();
b += int.Parse( (b.First()).ToString() ) + 1;
drp_year.DataSource = b;
drp_year.DataBind();提前感谢各位!
发布于 2011-11-14 11:30:59
我假设您在Distinct行上得到了一个错误,因为b+= ()函数将返回一个IEnumerable对象。请注意,您正在尝试将一个整数赋给该行上的b,而在调用b.First()的同一行中,这显然是您不能使用整数完成的操作。
看起来你真正想要的是
b.Add(b.First() + 1);然而,这也不会起作用。你需要做的是:
var yearList = b.ToList();
yearList.Add(b.First() + 1);然后,您可以将您的DataSource设置为该值。另外,Year是什么数据类型?它显然不是一个字符串,因为您必须对它使用ToString()方法。我认为它不是一个整数,因为你在它上面使用了int.Parse()。这让我相信它可能是一个日期,如果是这样,为什么不使用DateTime对象上已经存在的方法来操作DateTime,而不是在类型之间进行转换呢?
编辑:我调整了上面的代码块,因为我发现Year实际上是一个int。此外,他的原始代码中的"select new { a.Year }“应该只是"select a.Year”。有关更多信息,请参阅下面的评论...
https://stackoverflow.com/questions/8116838
复制相似问题