Asp.net mvc 4 智能向导2.0重定向问题?MVC4
我一直在做向导。我陷入了一个棘手的境地,即 默认情况下,我得到上一个,下一个,完成。但是我想定制我的向导,它有4个阶段。 第1和第2阶段:下一步和保存按钮 第3阶段:发送以供批准 第4阶段:批准或拒绝 因此,对于4个阶段,我创建了4个类似的DIVAsp.net mvc 4 智能向导2.0重定向问题?MVC4,asp.net-mvc-4,smart-wizard,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">
@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"> </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>
}
@使用(Html.BeginForm(“Index”,“Home”,FormMethod.Post))
{
步骤1:帐户详细信息
@LabelFor(m=>m.Lead\u Id)
:@Html.TextBoxFor(model=>model.Lead_Id,新的{@readonly=“readonly”})
@LabelFor(m=>m.Contact\u Name)
:@Html.TextBoxFor(model=>model.Contact_Name)
@LabelFor(m=>m.Contact\u地址
:@Html.TextBoxFor(model=>model.Contact_地址)
@LabelFor(m=>m.Lead\u源代码)
:@Html.DropDownListFor(c=>c.Lead\u源,Model.Lead\u源)
//点击后,它会回发到控制器,控制器会相应地保存我的数据。没问题
如果您正试图完成向导的步骤,则需要一些机制来完成此操作。您有两个选项:
使用jQuery向导在客户端处理所有事情(您正在谈论的是您的
,因此jQuery可以“一步一步”地处理每一个问题)。请查看此链接以获取一个流行示例:
尽管在上述情况下,您将使用MVC控制器(如果您使用局部视图显示“确认”或“提交”页面,则使用两个),另一种方法是使用多个控制器,每个步骤一个,然后使用TempData
在步骤中保留用户输入数据,直到结束。请查看此链接以获取示例:
您可能会对TempData
的使用产生激烈的意见。我以前使用过jQuery示例,但发现它太麻烦了。为了简单起见,我选择了TempData
路线(我讨厌长视图或代码页,它们往往很难维护)
你的里程数可能会有所不同,最终取决于你来决定在你的情况下什么最有效。祝你好运
编辑
刚刚还发现了一个新的(MVC5)链接,用于使用会话
:。TempData
是会话
的一种形式,但是,TempData
用于控制器中的重定向,除非您特别“保留”了TempData
,否则它会在重定向后被销毁。两者都不是很安全,所以请注意这一点(我相信在一个安全的应用程序中,您当然可以使用身份验证(基于用户或角色)。谢谢,伙计!这是一个非常有用的见解。目前我们一直在使用jquery智能向导。