我想构建一个MVC应用程序,使用多个向导步骤创建用户的帐户.我是否需要使用一个视图页面并通过客户端逻辑隐藏或显示div,或者我是否需要为每个向导创建不同的视图(使用部分视图)?
这里最好的选择是什么?我需要在向导步骤之间维护状态数据,以便用户可以向后或向下移动,在最后一步,他或她可以将其保存到数据库.
我正在构建一个MVC应用程序.我的任务之一是建立一个商店.我设置了一个像向导一样的"向导",它使用户可以在操作结束前填写不同类型的数据,总共7个步骤.
我的问题是如何在所有这些视图之间共享一些数据.
首先,我使用了老式的Session,一切都在我的桌面上工作,但当我最终将我的应用程序部署到我公司的托管服务器时,我得到了例外,因为Session在某些步骤中随机删除了.
现在我修改了所有内容以设置我需要的任何数据TempData,并刷新每个步骤中的所有数据,它似乎正常工作.
我有点困惑!
我的困惑在于所有这些结构:Session(我知道它来自asp.net)ViewData,TempData以及魔术ViewBag.
我读了很多,但我需要有人清楚地告诉我在这种情况下什么更适合我.
我想在ASP.NET MVC中创建一个类似于ASP.NET webforms中的向导控制功能的向导.
做这个的最好方式是什么?
我已经习惯了网络表单,但我转而使用MVC 5并且有关于创建多步骤申请表的问题.
此表单就像一个向导,然后将显示在每个步骤中输入的信息,然后提交.
是否更容易在.cshtml中使用html表单编写或在控制器中完成所有操作?
谢谢
我刚刚使用Package Manager在我的解决方案中安装了MVC 5期货,但我找不到这个帮助方法Html.Serialize,这是之前的MVC Futures版本.
我的问题:我需要包含哪些命名空间来开始在MVC 5期货中使用Html.Serialize帮助方法?
基于asp.net mvc(拆分视图模型,单一模型)中多步注册过程问题的优秀答案,我使用了Darin Dimitrov提供的示例来测试ASP.net MVC3向导.它独立运行,但不在Orchard CMS v1.3中.
我收到以下错误:
'/'应用程序中的服务器错误.
无法创建接口的实例.
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.MissingMethodException:无法创建接口的实例.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
堆栈跟踪:
[MissingMethodException:无法创建接口的实例.]
System.RuntimeTypeHandle.CreateInstance(RuntimeType类型,Boolean publicOnly,Boolean noCheck,Boolean&canBeCached,RuntimeMethodHandleInternal&ctor,Boolean&bNeedSecurityCheck)+0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly,Boolean skipCheckThis, Boolean fillCache)+98
System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly,Boolean skipVisibilityChecks,Boolean skipCheckThis,Boolean fillCache)+241 System.Activator.CreateInstance(Type type,Boolean nonPublic)+69
System.Web.Mvc.DefaultModelBinder.CreateModel(ControllerContext controllerContext,ModelBindingContext bindingContext,Type modelType)+199 System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext,ModelBindingContext bindingContext)+572
System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext)+449
System.Web. Mvc.ControllerActionInvoker.GetPa rameterValue(ControllerContext controllerContext,ParameterDescriptor parameterDescriptor)+317
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext,ActionDescriptor actionDescriptor)+117
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext,String actionName)+343
System.Web. Mvc.Controller.ExecuteCore()+116
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)+97 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)+10
System.Web .Mvc.<> c__DisplayClassb.b__5()+37
System.Web.Mvc.Async.<> c__DisplayClass1.b__0()+21
System.Web.Mvc.Async.<> c__DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _) +12 System.Web.Mvc.Async.WrappedAsyncResult1.End()+ 62 System.Web .Mvc.<> c__DisplayClasse.b__d()+50
System.Web.Mvc.SecurityUtil.b__0(Action f)+7 …
我一直在GooglePlex上搜索高/低,这里是一个MVC3向导示例(多步),它不会调用MVC3(和jQuery)的clientsidevalidation元素.我在这里看到了至少一个关于某些元素的详细解释:asp.net mvc中的多步注册过程问题(splitted viewmodels,single model),但是我无法让它正常工作.
作为MVC3的新手和一般的编程,我怀疑它的经验水平阻碍了我的工作.
无论如何,对非Jquery MVC3向导样本的任何指导都会很棒.先感谢您.