向默认Index.cshtml RazorPages Asp.Net Core 2.1.0添加更多属性

时间:2018-07-30 11:24:15

标签: c# asp.net-mvc asp.net-core razor-pages

我在一个项目中使用<form method="POST" enctype="multipart/form-data"> <input type="file" name="imageData" /> <input type="submit" value="Send" /> </form> ,我想在默认的脚手架Asp.Net Core 2.1.0页面中添加一个额外的property

这是我的实体,请提出。

Index.cshtml

现在,默认的脚手架public class Role { public int RoleId { get; set; } public string RoleName { get; set; } public ICollection<UserRole> UserRole { get; set; } } public class User { [DatabaseGenerated(DatabaseGeneratedOption.None)] public string UserName { get; set; } public string Password { get; set; } public string MobileNumber { get; set; } public string Email { get; set; } public ICollection<UserRole> UserRole { get; set; } } public class UserRole { public int Id { get; set; } public string UserName { get; set; } public int RoleId { get; set; } [ForeignKey("RoleId")] public Role Role { get; set; } [ForeignKey("UserName")] public User User { get; set; } } 显示Index.cshtmlRoleID,其中我想添加一个列,即UserName,可从RoleName获得。

列表应为Role entity

这是我的脚手架页面模型。

RoleID, RoleName, UserName

请帮助我,请勿打扰其他任何页面,例如public class IndexModel : PageModel { private readonly Test.Models.TestContext _context; public IndexModel(Test.Models.TestContext context) { _context = context; } public IList<UserRole> UserRole { get;set; } public async Task OnGetAsync() { UserRole = await _context.UserRole .Include(u => u.Role) .Include(u => u.User).ToListAsync(); } }

更新:Index.cshtml中的代码

Edit, Detail, Delete.

1 个答案:

答案 0 :(得分:1)

您可以尝试在@item.Role.RoleName中使用index.chtml

注意

我建议您使用不同的ViewModel类为每个view而不是ModelContext承载数据,因为ModelContext负责将DB数据属性获取到映射器Db表架构。

ViewModel负责携带表演数据。

这里link的愿望可以帮助您