如何使用另一个表中的信息扩展asp.net身份注册
本文关键字:asp 扩展 net 身份 注册 信息 何使用 另一个 | 更新日期: 2023-09-27 18:21:42
我有一个表Food
,当用户在Account/register.cshtml
中注册时,我想显示该表中的所有信息。我已经测试过将其添加到AccountController
中
public ActionResult Register()
{
ApplicationDbContext db = new ApplicationDbContext();
var food = db.Food.Select(x => x.Food).ToList();
return View(food);
}
我的视图register.chtml看起来像这个
@model FoodApplication.Models.RegisterViewModel
@foreach (var item in Model)
{
@item.Food
}
得到一个错误,我不能在视图模型中使用foreach。
我该如何解决这个问题?
这不是一个好方法,因为更改了默认的AccountViewModel,但您将获得所需的结果
更改AccountViewModel
public class RegisterViewModel
{
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
public List<Food> Products = null;
}
AccountController 中的更改索引方法
public ActionResult Index()
{
return View(new RegisterViewModel()
{
Products = db.Food.Select(x => x.Food).ToList()
});
}
添加到Register.cshtml
<ul>
@foreach (var z in Model.Products)
{
<li>@z.id</li>
<li>@z.name</li>
}
</ul>