这就是场景。您有一个Web表单,并且想提示客户选择他们的出生年份。

a) 对下拉列表中的值进行硬编码?
b)从数据库表中获取有效年份

我可以看到一个维护噩梦,到处都在 .aspx 文件中复制一组硬编码的年份。

更新:

for 循环并不理想(维护噩梦且容易出错)。然后用户必须筛选甚至还没有到达这里的 120 年。

我仍然喜欢 DB 方法:

* Single point of data
* No duplication of code
* Update the table as needed to add more years
* Year table values could be used for some other dropdown for some other purpose entirely for something other than Birth year

就那么简单。无需到处更新代码。我觉得对于像这样通用的数据,我们不应该将这个 shiza 硬编码到一堆页面中,这完全不利于重用和容易出错……真的不切实际。我会为此向数据库发起冲击。

更新了 (再次......在考虑这个之后):

这是我的想法。只需创建一个名为 GetYears 的实用程序或辅助方法,它运行该循环并返回一个 List<int>,我可以将其绑定(bind)到我想要的任何内容(下拉列表等)。我喜欢维护那个年底的 web.config 想法。

最佳答案

C) 使用 for 循环在您选择的范围内生成年份。

像这个伪代码一样简单:

for (int i = 1900 ; i < THIS_YEAR - 13 ; i++)
{
    validyears.options.Add(i);
}

关于c# - 硬编码年表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1563872/

10-11 03:59