私はコントローラーを持っています
public ActionResult UsersInRoles()
{
using (var ctx1 = new UsersModel())
{
var model = new UsersInRolesViewModel();
model.UserProfiles = ctx1.UserProfiles.ToList();
model.UserRoles = ctx1.UserRoles.ToList();
return View(model);
}
}
これらのモデルの両方をビューに渡しています。 UserRoles システムで考えられるすべてのロールが含まれています。ここで、ユーザーが登録されているすべてのロールのコントローラーで配列を取得し、それをビューにも渡す必要があります。これにより、ユーザーが使用可能なロールのボックスにロールを表示しないことがわかりますに登録済みです。
これどうやってするの?
2 つのオプションが表示されます。
linqステートメントを使用して一度にデータを取得しようとする方法、またはユーザーが登録されているロールの配列を介してロールの完全なモデルを渡し、ビューにまたはなどを表示できるようにする方法はありますか?
ユーザーモデルに関連する AUX クラス:
public class UsersModel : DbContext
{
public UsersModel()
: base("name=UsersConnection")
{}
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<Roles> UserRoles { get; set; }
public DbSet<UsersInRoles> UsersInUserRoles { get; set; }
}
と
public class UsersInRolesViewModel
{
public IList<UserProfile> UserProfiles { get; set; }
public IList<Roles> UserRoles { get; set; }
public IList<ut_GMUTempData> GMUTempData { get; set; }
}