在哪里可以在asp.net生命周期方法中创建此对象而不会收到超出范围的异常。现在,我实际上可以获得包含值的资源集合的唯一地方是用于webschedule信息的onreasourcefetched方法。但是我需要在创建webscheduleinfo之前执行此操作,并且用户填充其视图。
protected void Page_Init(object sender, EventArgs e)
{
ResourcesCollection resources = WebScheduleInfo1.VisibleResources;
int count = resources.Count;
Resource obje = (Resource)resources.GetItem(1);
string name = obje.Name;
resources.Clear();
resources.Add(obje);
this.WebScheduleInfo1.ActiveResourceName = name;
}
答案 0 :(得分:2)
您获得了一些资源,但您没有检查以确保计数大于0。
除非资源集合中至少包含2个项目,否则 (Resource)resources.GetItem(1)
将失败。
该集合基于0,因此如果您希望第一个项目执行以下操作:
protected void Page_Init(object sender, EventArgs e)
{
ResourcesCollection resources = WebScheduleInfo1.VisibleResources;
int count = resources.Count;
if( count > 0 )
{
Resource obje = (Resource)resources.GetItem(0);
string name = obje.Name;
resources.Clear();
resources.Add(obje);
this.WebScheduleInfo1.ActiveResourceName = name;
}
}