我有一个包含三个user control
的Web dropdownlists
:一个包含几天,第二个包含几个月,第三个包含几年。日期和月份是固定的,但是年份项将根据需要更改,以避免输入错误的年份。首先让我在这里列出我的工作顺序,然后再问我一个问题:
我有一个私人int yearSpan。
在私有方法PopulateYearList中,我说:
int year = DateTime.Now.Year;
int span = year - this.yearSpan;
for (int i = span; i <= year; i++)
{
ddlYears.Items.Add(i.ToString());//Here I get NullReferenceException
}
我已经覆盖了默认构造函数,以接收
yearSpan
作为参数: public DatePicker(int yearSpan)
{
this.yearSpan = yearSpan;
this.PopulateYearList();
}
现在,就像您在我的
PopulateYearList
方法中所猜到的那样,我得到了NullReferenceException
,因为我试图将一个尚未构造的项目添加到ddlYears
中。您建议采取什么措施解决此问题? 最佳答案
以太呼叫PopulateYearList
的Page_Load
中的usercontrol
。像这样:
protected void Page_Load(object objSrc, EventArgs e)
{
if(this.IsPostBack)
PopulateYearList()
}
或者绑定
PopulateYearList
控件时制作public
page
并在page
上调用它关于c# - ASP.NET-在构建过程中将项目添加到下拉列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10084083/