1

これは私が尋ねた別の質問と一緒です、私は変更されたときにポストバックを引き起こす私のマスターページにドロップダウンリストを持っていますそしてそのインデックス変更された方法で私はそれの選択されたインデックスを見るために私のajaxアコーディオンを見つけようとしています

protected void ddlSelectedCustomer_SelectedIndexChanged(object sender, EventArgs e)
{
    CustomerSelected();

    Response.AppendHeader("Refresh", "0;URL=storefront.aspx");

    ViewState["SelectedAccordionIndex"] = (AjaxControlToolkit.Accordion)FindControl("MyAccordion").SelectedIndex;
}

私が得るエラー

オブジェクト参照がオブジェクト インスタンスに設定されていません。

4

2 に答える 2

2

問題は、FindControlがオブジェクトを返すことです。それをアコーディオンにキャストして、再試行してください。ViewState["SelectedAccordionIndex"] = ((Accordion)FindControl("MyAccordion")).SelectedIndex;

これが理由ではない場合は、より深くドリルする必要があるかもしれません。((Accordion)this.FindControl(<the id of your content placeholder your accordion is in>).FindControl("MyAccordion")).SelectedIndex;

于 2012-05-11T19:56:20.727 に答える
1

他のASPコントロールと同じように使用できるはずです。上記のように、オブジェクトとして返されるため、ドロップダウン、リストボックス、この場合はajaxアコーディオンなど、使用しているコントロールとしてキャストする必要があります。

于 2012-06-20T14:20:21.983 に答える