ASP.NET не распознает добавленный шаг мастера - PullRequest
0 голосов
/ 14 мая 2011

Итак, я добавляю шаг в мастер регистрации базовых пользователей на странице register.aspx по умолчанию в ASP.NET. Я добавил шаг в разметку, и все выглядит правильно, но когда я загружаю страницу в Chrome / IE, этот шаг не появляется после того, как я выполню первый шаг. Все, что я изменил в первом шаге по умолчанию, это кнопка (чтобы она сказала «Далее»), но когда я нажимаю, он просто завершает форму и перенаправляет в default.aspx - никогда не загружая этот второй шаг.

Вот моя разметка (я удалил некоторые общие элементы, которые я не трогал для удобства чтения)

ОБНОВЛЕНИЕ : я переделал мастер с нуля (удалил и добавил новый) и добавил один шаг через разметку. Теперь, когда я просматриваю страницу, я вижу первый шаг (и кнопка «далее» гласит «создать пользователя»). Я заполняю его и нажимаю «создать пользователя», и я вижу тот же шаг, за исключением того, что на этот раз кнопка говорит «следующий» ... я заполняю его снова и нажимаю «следующий» и вижу второй шаг. заполните это и нажмите финиш, и все идет как запланировано.

<asp:CreateUserWizard ID="RegisterUser" runat="server"  OnFinishButtonClick="RegisterUser_CreatedUser">
    <WizardSteps>
        <asp:WizardStep runat="server" StepType="Start">
            /*Generic Stuff */
            </asp:WizardStep>
        <asp:WizardStep ID="personalinfo" runat="server" StepType="Auto" >
         /* Custom Wizard Step Content */
        </asp:WizardStep>

    </WizardSteps>
</asp:CreateUserWizard>

Так что в основном этот средний шаг пропускается. Я нажимаю кнопку «Далее» на шаге 1, и он просто завершает работу мастера. Вот мой код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Account_Register : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        RegisterUser.ContinueDestinationPageUrl = Request.QueryString["ReturnUrl"];
    }


    protected void RegisterUser_CreatedUser(object sender, EventArgs e)
    {
        FormsAuthentication.SetAuthCookie(RegisterUser.UserName, false /* createPersistentCookie */);

        string continueUrl = RegisterUser.ContinueDestinationPageUrl;
        if (String.IsNullOrEmpty(continueUrl))
        {
            continueUrl = "~/";
        }
        // My Custom Stuff Here
        Response.Redirect(continueUrl);
    }

}

Спасибо! Дайте мне знать, если мне нужно будет предоставить больше информации ... (не то, чтобы было что-то еще, чтобы предоставить ...)

1 Ответ

2 голосов
/ 14 мая 2011

У вас есть кнопка в каждом элементе мастера.Это приводит к отправке страницы.У вас должна быть панель навигации в составе мастера, которая будет перемещаться вперед и назад .....

Мастер регистрации по умолчанию в составе веб-приложения VS 2010 имеет только один шаг, поэтому они помещают кнопку вединственный шаг.Тем не менее, вы хотите добавить шаг.Вам нужно будет поработать над пользовательской навигацией, чтобы добавить следующие кнопки и окончательную отправку.

Вот хорошая статья о модификации мастера .

Эта ссылка и эта ссылка немного старше, но более конкретно относятся к изменению мастера создания пользователей и по-прежнему актуальны, поскольку в этом мастере мало что изменилось.

...