これを、適用される拡張メソッドList<user>
または userRepository.GetAll() が返すものとして作成するので、コードでこれらの使用法をすべて置き換えることができます
ViewData["Users"] = userRepository.GetAll().ToSelectList();
編集コード サンプル:これを行うには 2 つの方法があります
public static List<SelectListItem> ToSelectList(this List<Agent> users)
{
List<SelectListItem> items = new List<int>();
foreach (var user in users)
{
var item = new SelectListItem { Text = user.FriendlyName,
Value = user.UserId.ToString() };
if (User.Identity.Name == user.UserName)
item.Selected = true;
items.Add(item);
}
return items;
}
そして、使用法は次のようになります
userRepository.GetAll().ToSelectList();
または、拡張メソッドに含まれる ID に問題がある場合は、
public static List<SelectListItem> ToSelectList(this List<Agent> users,
string selectedUserName)
{
List<SelectListItem> items = new List<int>();
foreach (var user in users)
{
var item = new SelectListItem { Text = user.FriendlyName,
Value = user.UserId.ToString() };
if (user.UserName == selectedUserName)
item.Selected = true;
items.Add(item);
}
return items;
}
そして、使用法は次のようになります
userRepository.GetAll().ToSelectList(User.Identity.Name);