智能向导2.0重定向问题? MVC4

时间:2014-04-07 11:46:21

标签: asp.net-mvc-4 smart-wizard

我一直在做精灵。我陷入了困境,即

默认情况下,我正在获得上一个,下一个,完成。但我想定制我的向导有4个阶段。 在第1阶段& 2 :下一个&保存按钮 第3阶段:发送审批 第4阶段:批准或拒绝

因此,对于4个阶段,我创建了4个DIV类似的

     @using (Html.BeginForm("Index", "Home", FormMethod.Post))
            {
                <div id="step-1">   
                <h2 class="StepTitle">Step 1: Account Details</h2>
                <table cellspacing="3" cellpadding="3" align="center">
                        <td align="center" colspan="3">&nbsp;</td>
                        <tr>
                            <td align="right"> @Html.LabelFor(m=>m.Lead_Id) </td>
                            <td align="left">
                :  @Html.TextBoxFor(model=>model.Lead_Id , new { @readonly="readonly" }  ) 
                          </td>
                        </tr>   

                        <tr>
                            <td align="right"> @Html.LabelFor(m=>m.Contact_Name) </td>
                            <td align="left">
                            :   @Html.TextBoxFor(model=>model.Contact_Name )
                          </td>

                        </tr>
                        <tr>
                            <td align="right"> @Html.LabelFor(m=>m.Contact_Address</td>
                            <td align="left">
                            :   @Html.TextBoxFor(model => model.Contact_Address)
                          </td>

                        </tr> 
                         <tr>
                            <td align="right"> @Html.LabelFor(m=>m.Lead_Source)</td>
                            <td align="left">
                        :  @Html.DropDownListFor(c=>c.Lead_Source, Model.lead_sources)
                          </td>

                    </tr>   
                     <tr>

     <td> <input type="submit"  value="SAVE" id="btnsave" /></td> // on click it does postback call to controller which saves my data accordingly . fine with that 

 <td><input type="button" onclick="donno()" value="NEXT STAGE" id="btnNext"</td> // Issue is here and what i need is onclick of button need to move to second stage of wizard so i been thinking to write a logic on click method of button ? 
                    </tr>

                   </table>                     
           </div>
            }
我不知道怎么办?是否可以调用下一个阶段,即第二阶段的下一个DIV显示点击。 是否有任何解决方法将DIV绑定到按钮。所以在点击按钮时,DIV部分应该在向导的第2步中加载。

欢迎任何更好的想法,并始终感谢您的努力。

谢谢&amp;此致

1 个答案:

答案 0 :(得分:2)

如果您尝试完成向导的步骤,则需要一些机制来执行此操作。您有两种选择:

  1. 使用jQuery向导处理客户端的所有内容(您正在谈论您的<div>,因此jQuery可以通过每一个&#34;步骤&#34;通过每一个&#34;)。请查看此链接以获取一个热门示例:jQuery Wizard
  2. 虽然在上面你会使用一个MVC控制器(如果你使用局部视图来显示&#34;确认&#34;或者#34;提交&#34;页面),你会使用另一种方法正在使用多个控制器,每个步骤一个,然后使用TempData通过这些步骤保持用户输入数据,直到结束。请查看此链接以获取示例:TempData Wizard
  3. 您可能会对TempData的使用发表激烈的意见。我之前使用过jQuery示例,但发现它太麻烦了。为了简单起见,我走了TempData路线(我讨厌LONG视图或代码页,它们往往很难维护)。

    您的里程可能会有所不同,最终由您决定哪种情况最适合您的情况。祝你好运。

    修改 刚刚找到了一个使用SessionSession Wizard的新(MVC5)链接。 TempDataSession的一种形式,但是TempData用于控制器中的重定向,除非您特别注意&#34; Keep&#34; TempData它在重定向后被销毁。两者都不是很安全,所以请注意这一点(我相信一个安全的应用程序,你当然可以使用身份验证(基于用户或角色)。