asp.net-mvc - 在 ASP.NET MVC 中更新多个模型

标签 asp.net-mvc entity-framework ef-code-first

我需要从首次在 MVC 3 应用程序中注册的新用户(首先使用 EF 代码)捕获三种不同类型的信息。理想情况下在一页上(将有三个选项卡)

  1. 用户信息
  2. 扩展用户信息
  3. 用户选择的福利

帐户 Controller 的注册方法应在触发时填充用户表。我需要一些关于如何最好地捕获其他数据的建议。我是否要为附加数据创建 UserDetails 模型?如果是这样,是否可以从同一页面更新? (这将是“帐户/注册”页面。我是否需要在帐户 Controller 中执行某些操作,或者模型之间的关系就足够了吗?

有什么好的例子可以解释这一点吗?我尝试了 MVC Contoso University,但不知道是否可以做到这一点。

非常欢迎任何建议:)

谢谢

最佳答案

您可以创建一个 View 模型,将其他模型中所需的所有字段组合起来,然后将 View 强类型化到该模型中。用户将信息提交回 Controller 后,您将适本地处理每个属性。

public class RegisterViewModel()
{
  //Userinfo
  public string UserName {get; set;}
  ...
  //Extended user info
  public string FirstName {get; set;}
  public string LastName{get; set;}
  ...
  //Benefits
  public string BenefitName {get; set;}
  ...
}

然后

[HttpPost]
public ActionResult Register (RegisterViewModel viewModel)
{
  //grab the user info from the view model and process it
  viewModel.UserName...

  //grab the extended info and process it
  viewModel.FirstName...
  //grab the benefit info and process it
  viewModel.BenefitName...
}

关于asp.net-mvc - 在 ASP.NET MVC 中更新多个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12749958/

相关文章:

javascript - 调用运行不完整的操作结果的脚本

url 中的 Javascript 函数调用

.net - EF 查询包含 "Distinct()"第一次慢

c# - MVC 5 : Should I inherit my User from IdentityUser class?

entity-framework - Entity Framework 6 代码优先 : setting unicode to false for string properties

asp.net-mvc - ASP.Net MVC Razor View - 查找年龄和出生日期

asp.net-mvc - MVC2或MVC3 html.routelink可以包含&laquo和&raquo吗?

c# - Entity Framework 无法在 Web.config 中找到连接字符串

c# - Entity Framework 映射到用于读取的 View 和用于 CUD 的表

mysql - Code First 带前缀的主键自动递增