Как мне создать MVC 'Wizard', схожего по функциональности с мастерами Webforms? - PullRequest
3 голосов
/ 21 апреля 2009

Я хотел бы создать мастер в ASP.NET MVC, аналогичный функциональности управления мастера, найденной в веб-формах ASP.NET.

Каков наилучший способ сделать это?

Ответы [ 5 ]

6 голосов
/ 21 апреля 2009

В ASP.NET MVC я бы предложил использовать javascript / jquery для создания мастера на веб-странице; что-то вроде

<script type="text/javascript">
    $().ready(InitializeWizard);
    function InitializeWizard() {
        $(".step").hide();
        $("#step1").show();
    }
    function Step1OK() {
        $("#step1").hide();
        $("#step2").show();
    }
    function Step2OK() {
        $("#step2").hide();
        $("#stepComplete").show();
    }
</script>

<div id="step1" class="step">
    Step 1
    <input type="button" onclick="Step1OK();" value="OK" />
</div>
<div id="step2" class="step">
    Step 2
    <input type="button" onclick="Step2OK();" value="OK" />
</div>
<div id="stepComplete" class="step">
    Complete
</div>

NB! Помните, что в верхней части документа можно загрузить jquery, например, ссылаясь на ссылку Google:

<script src="http://www.google.com/jsapi"></script>
<script>
    google.load("jquery", "1.3.2");
</script>
2 голосов
/ 02 января 2011

Попробуйте этот .

Он использует jQuery и содержит пример проекта.

2 голосов
/ 22 апреля 2009

ASP.NET MVC сам по себе является шаблоном проектирования без сохранения состояния, то есть между запросами не существует формы состояния. Если вы хотите сохранить какое-то состояние, вам придется использовать какой-то постоянный механизм, такой как cookie, строка запроса (blah? Page = 2), сеанс или, возможно, даже в базе данных.

2 голосов
/ 21 апреля 2009

В ASP.NET MVC нет простого способа использовать элемент управления мастера. Поскольку ASP.NET MVC - это не веб-формы, вам следует перестать думать webformy и начать думать MVC way . Лучше всего использовать jQuery и партиалы (частичные представления), чтобы создать приятный пользовательский интерфейс, который проведет пользователя через некоторые заранее определенные шаги.

1 голос
/ 12 сентября 2011

Вы можете использовать простой компонент MVCWizard.Wizard, доступный на NuGet. WizardController позволяет вам создавать мастера, используя частичное представление. Существует также AutoWizardController, который отображает весь мастер в одном представлении. Все эти компоненты работают с сеансом для сохранения состояния модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...