2009-04-21 4 views
3

私は、ASP.NETのWebフォームにあるウィザードコントロールの機能に似た、ASP.NET MVCでウィザードを作成したいと考えています。Webformsウィザードと同様の機能を持つMVC 'ウィザード'を作成するにはどうすればよいですか?

これを行うにはどのような方法が最適ですか?

+0

http://stackoverflow.com/questions/6402628/multi-step-registration-process-issues-in-asp-net-mvc-splitted-viewmodels-sing/6403485#6403485 – Richard

答えて

6

ASP.NET MVCでは、javascript/jqueryを使用してWebページにウィザードを作成することをお勧めします。何かのように

<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をロードすることを忘れないでください。

<script src="http://www.google.com/jsapi"></script> 
<script> 
    google.load("jquery", "1.3.2"); 
</script> 
2

ASP.NET MVCでウィザードコントロールを使用する簡単な方法はありません。 ASP.NET MVCはWebフォームではないので、考えてみることをやめてください。webformyMVCの方法を考えてみましょう。より良いことは、jQueryとPartials(Partial Views)を活用して、あらかじめ定義されたいくつかのステップをユーザーに伝える素敵なユーザーエクスペリエンスを提供することです。

2

ASP.NET MVC自体は、状態間のステートレスなデザインパターンの意味であり、状態の形式はありません。あなたが何らかの状態を保持したいなら、クッキー、クエーストリング(曖昧なページ= 2)、セッション、あるいは多分データベース内のような何らかの種類の持続的なメカニズムを使わなければなりません。

2

お試しthis one

jQueryを使用し、サンプルプロジェクトが含まれています。

+0

私はそのプロジェクトが非常にいい例が好きです、 ありがとうございました! – IamStalker

1

NuGetで利用可能な単純なコンポーネントMVCWizard.Wizardを使用できます。 WizardControllerを使用すると、部分ビューを使用してウィザードを作成できます。 ウィザード全体を単一のビューにレンダリングするAutoWizardControllerもあります。 これらのコンポーネントはすべて、セッションとともに動作してモデル状態を格納します。

関連する問題