0

4つのステップがあるcreateuserwizardコントロールがあります。qeurystringにいくつかのパラメーターが存在する場合、ステップ0でそれらをコントロールに設定してから、activeindexを次のステップに設定します。私はこのようにします:

 if (!Page.IsPostBack)
        {
            if (!String.IsNullOrEmpty(Request["from"]) && !String.IsNullOrEmpty(Request["to"]) && !String.IsNullOrEmpty(Request["seek"]) && !String.IsNullOrEmpty(Request["livein"]))
            {
                ((DropDownList)RegisterUser.WizardSteps[0].FindControl("ddlGender")).SelectedValue = Request["seek"];
                ((TextBox)RegisterUser.WizardSteps[0].FindControl("txtAgeFrom")).Text = Request["from"];
                ((TextBox)RegisterUser.WizardSteps[0].FindControl("txtAgeTo")).Text = Request["to"];
                ((DropDownList)RegisterUser.WizardSteps[0].FindControl("ddlLive")).SelectedValue = Request["livein"];

                RegisterUser.ActiveStepIndex = 1;
            }
        }

これは機能し、現在のステップを正しいステップに設定しますが、問題は「前へ」ボタンが機能せず、ステップ0に進まないことです。

4

1 に答える 1

1

ASP.NETのWizzardコントロールで[前へ]ボタンをクリックすると、次の順序で発生する2つのイベントが発生します。

1)PreviousButtonClick

2)ActiveStepChanged

私の提案は、これら2つのイベントにブレークポイントを設定し、[前へ]をクリックしたときに両方が実行されることを確認することです。

さらに、先ほど説明した2つのイベントハンドラー内にコードがある場合は、それらがリセットされないことを確認してください。ActiveStepIndex

于 2012-10-29T06:00:21.617 に答える