我有一个包含三个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中。您建议采取什么措施解决此问题?

最佳答案

以太呼叫PopulateYearListPage_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/

10-13 03:17