Изменить QueryString на основе ActiveStepIndex элемента управления мастера в C # - PullRequest
2 голосов
/ 13 октября 2010

Мне интересно, как можно обновлять строку запроса моего URL каждый раз, когда я нажимаю кнопку «Далее» в элементе управления Wizard, чтобы отобразить ActiveStepIndex.

Пример:

  • http: //ApplicationName/Default.aspx? Step = 1
  • http: //ApplicationName/Default.aspx? Step = 2
  • http: //ApplicationName/Default.aspx? Step= 3
  • ...

Ответы [ 2 ]

0 голосов
/ 13 октября 2010

Я только что узнал, как справиться с этой ситуацией.

В HTML:

<body id="body" runat="server">

В коде позади:

protected void wizard_OnActiveStepChanged(object sender, EventArgs e)
{
    body.Attributes.Add("onload", "document.location.hash = 'Step" + wizard.ActiveStepIndex + "';");
}
0 голосов
/ 13 октября 2010

Действительно, вы, вероятно, захотите сделать это, когда активный шаг изменяется при любых обстоятельствах.

Добавьте обработчик для OnActiveStepChanged на своей странице .aspx:

    <asp:Wizard ID="NewWizard" runat="server" ActiveStepIndex="0" OnActiveStepChanged="Wizard_OnActiveStepChanged">
    <WizardSteps>
     ...
    </WizardSteps>
   </asp:Wizard>

Затем реализуйте ваш обработчик:

protected void Wizard_OnActiveStepChanged(object sender, EventArgs e)
{
  Request.QueryString.Set("Step",Convert.ToString(NewWizard.ActiveStepIndex));
}

Это должно работать, однако я не проверял этот код, поэтому не могу дать никаких гарантий того, что он будет работать.

...