私はAjax Accordionを持っており、デフォルトの選択されたインデックスを-1に設定しているので、すべてのペインが閉じられます。各ペインにはいくつかの異なるコントロールがあり、オートポストバックが発生するとオートポストバックが行われるものもあります。もちろん、すべてのペインが崩壊します。Ajax Accordion Indexを自動ポストバックの現在のビューに設定する方法はありますか?
ページロード時に選択されたインデックス-1に設定され、ポストバック時に選択されたインデックスがポストバックの前に設定されていますか?
私の質問で何かを解決することができれば、私に提供できるコードスニペットがあれば教えてください。 #
は、私はこのためのビューステートまたはクエリ文字列変数のいずれかを使用することになり、あなたに
//My Accordion
<ajaxtoolkit:accordion ID="MyAccordion" runat="Server"
HeaderCssClass="aHeader" HeaderSelectedCssClass="aSelected"
ContentCssClass="aContent" AutoSize="None" FadeTransitions="true"
TransitionDuration="250" FramesPerSecond="40" RequireOpenedPane="false"
SuppressHeaderPostbacks="true" Height="894px" style="margin-right: 23px"
Width="717px">
//Page Load Event
protected void Page_Load(object sender, EventArgs e)
{
if (ViewState["SelectedAccordionIndex"] == null)
{
MyAccordion.SelectedIndex = -1;
}
else
{
MyAccordion.SelectedIndex = (int)ViewState["SelectedAccordionIndex"];
}
if (!IsPostBack)
{
LoadPage();
}
}
//drop down list set to auto post back
protected void dropdownlist_SelectedInexChange(object sender, EventArgs e)
{
ViewState["SelectedAccordionIndex"] = MyAccordion.SelectedIndex;
}
私は現在、これを私のコードに取り入れています。私はpage_loadにifを持っています。これを行うelseと-1を設定すると、次のようになります。MyAccordion.SelectedIndex =(int)ViewState ["SelectedAccordionIndex"]; しかし、私は選択されたインデックスがないので、常に自分のコードを無視して0に設定しています。助言がありますか?そして、あなたの 'Page_Load'の中の –
を削除していただきありがとうございます。ViewState [" SelectedAccordionIndex "] = MyAccordion.SelectedIndex;これはあなたが投稿を元に戻す場所です。投稿または何か – peroija
コードが追加されました。選択されたインデックスを削除してヌル値をチェックできるようになりました。デフォルトで0の選択インデックスになりました。 –