将模型数据传递给Controller以列表/计算每个值

时间:2018-01-21 07:13:59

标签: asp.net asp.net-mvc

我有一个User.cs类模型。我想在我的模型中获取数据并将其带到Controller进行一些计算。

如何将模型数据传递给Controller以列表/计算每个值。示例以循环所有可用数据并进行一些计算。

但是,我发现大多数可用的教程都是发送模型 - >控制器 - >查看例如。

public ActionResult Index()
        {
        if (User.IsInRole(RoleName))
        {
            var users = _context.Users.ToList();
            var patients = _context.Patients.ToList();
            var patientAllocations = _context.PatientAllocations.ToList();
            var albums = _context.Albums.ToList();

            var viewModel = new ManagePatientsViewModel()
            {
                Users = users,
                Patients = patients,
                PatientAllocations = patientAllocations,
                Albums = albums
            };

            return View(viewModel);
}

用户模型

public class User
{
    [Required]
    public int userID { get; set; }

    [StringLength(255)]
    public string email { get; set; }

    [StringLength(255)]
    public string password { get; set; }

    [StringLength(255)]
    public string firstName { get; set; }
}

1 个答案:

答案 0 :(得分:0)

您可以通过将模型对象定义为操作方法的参数来简单地获取控制器操作中的模型对象:

[HttpPost]
public ActionResult MyAction(ManagePatientsViewModel model)
{
  //you can access model properties...
  for(int i=0; i<model.Users.Count; i++)
  {
    System.Diagnostics.Debug.WriteLine(model.Users[i].email);
  }
  return View(model);
}