В зависимости от того, разрешите ли вы использовать javascript или нет.
Если вы разрешаете javascript, используйте jQuery для отображения/скрытия div.
Я только что сделал следующий скрипт мастера. Он поддерживает несколько мастеров на одной странице, если вы следуете синтаксису class/div ниже.
<div class="wizard">
<div class="step active">
some information
</div>
<div class="step" style="display:none">
Step 2 info
</div>
<div class="step" style="display:none">
Step 3 info
</div>
<input type="button" class="prev" style="display: none" value="Previous" />
<input type="button" class="next" value="Next" />
</div>
<script type="text/javascript">
$(function() {
$('.wizard .prev').click(function() {
var wizard = $(this).parent('.wizard');
$('.step.active', wizard).hide();
var currentStep = $('.step.active', wizard);
currentStep.hide();
currentStep.removeClass('active');
var newStep = currentStep.prev('.step', wizard);
newStep.addClass('active');
newStep.show();
if ($('.step:first', wizard)[0] == newStep[0]) {
$(this).hide();
}
$('.next', wizard).show();
});
$('.wizard .next').click(function() {
var wizard = $(this).parent('.wizard');
$('.step.active', wizard).hide();
var currentStep = $('.step.active', wizard);
currentStep.hide();
currentStep.removeClass('active');
var newStep = currentStep.next('.step', wizard);
newStep.addClass('active');
newStep.show();
if ($('.step:last', wizard)[0] == newStep[0]) {
$(this).hide();
}
$('.prev', wizard).show();
});
});
</script>
Без JavaScript:
Создать модель представления, которая содержит информацию для всех шагов и делиться между всеми видами пошагового мастера. Это позволяет сохранять все состояния между разными POST.
Ссылка Дарина на пример, который он предоставил в ответ, очень помогла мне настроить мастеров в MVC. – REMESQ
@REMESQ - такой долгий путь сказать: «Спасибо, это помогло». – Dementic