这就是场景。您有一个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/