这跟我提出的另一个问题一样,我的母版页上有一个下拉列表,导致更改后的回发和在索引中更改的方法我试图找到我的ajax手风琴来查看所选的索引它
protected void ddlSelectedCustomer_SelectedIndexChanged(object sender, EventArgs e)
{
CustomerSelected();
Response.AppendHeader("Refresh", "0;URL=storefront.aspx");
ViewState["SelectedAccordionIndex"] = (AjaxControlToolkit.Accordion)FindControl("MyAccordion").SelectedIndex;
}
我得错误
对象引用未设置为对象的实例。
答案 0 :(得分:2)
问题是FindControl返回一个Object。将其演变为手风琴并再试一次:ViewState["SelectedAccordionIndex"] = ((Accordion)FindControl("MyAccordion")).SelectedIndex;
如果这不是您可能需要深入钻探的原因,例如((Accordion)this.FindControl(<the id of your content placeholder your accordion is in>).FindControl("MyAccordion")).SelectedIndex;
答案 1 :(得分:1)
您应该可以像使用任何其他ASP控件一样使用它。如上所述,它作为Object返回,因此您必须将其转换为您正在使用的任何控件,无论是下拉列表,列表框还是在这种情况下是ajax手风琴