AccountModel在一个屏幕中

时间:2011-09-19 20:46:16

标签: c# asp.net-mvc asp.net-membership

我有这个应用程序与MVC3附带的基本AccountModel。 AccountModel有三个类:

  • ChangePasswordModel;
  • LoginModel;
  • RegisterModel;

我想创建一个帐户/设置屏幕,以便我在帐户控制器上创建设置操作。

但我无法意识到接下来要做什么,因为此屏幕将包含所有帐户功能,例如更改密码,更改网站设置和配置文件内容以及ChangePasswordModel是一个单独的模型!

如何在此/帐户/设置中发布ChangePassword表单并仍然可以使用ChangePassword操作?

如何在一个屏幕中统一这个?

1 个答案:

答案 0 :(得分:2)

如果您以新的形式包装每组功能,那么您可以完成您想要的...您可以使用

<% using(Html.BeginRouteForm(...) %>

非常干净地指定您希望页面的每个部分去哪里...我建议您将每个部分发送到不同的操作(即使它们位于同一控制器中),以便使模型绑定更简单。

如果你在一个表单中有var A但想要以不同的形式检索它,这会变得很难看。

只要您想将所有内容放在同一个屏幕上,每个表单都可以干净利落地成功表示自己的模型,那么这是一个相当不错的方法(IMO)

修改

如果您已经习惯了ASP.net并且MVC对您来说有点新,那么在同一页面上放置多个表单就违反了ASP.net的性质,但是在mvc(如上所述)中,您可以非常有效地执行此操作。

编辑链接

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginrouteform.aspx

http://msmvps.com/blogs/luisabreu/archive/2009/01/31/the-mvc-platform-more-form-extension-methods.aspx