asp.net mvcビューの再選挙ボックスリストを渡し、抽出
ASP.NET MVCでは、モデルへのチェックボックスリストのコレクションがユーザーの好みを収集するために不可欠です。ただし、既存のオプションリストがあり、関連するオプションを表示する必要がある場合、デフォルトのforeachサイクルメソッドは無力であるようです。
この問題を解決するために、強力なタイプのHTML補助方法の使用を検討してください。 HTMLを手動で生成する必要性を回避するために、シームレスな2ウェイモデルバインディングを提供します。
ビューモデルを作成します
最初に、ビュー内のデータを表すビューモデルを作成します。この例では、ユーザーを利用可能な文字に関連付けることができます
充電ビューモデルを入力してください
ビューに関連付けられたGET操作では、ユーザーデータを使用してUSERVMを埋めます。これには、ロールリストとマーク付き関連付けが使用できる役割が含まれます。
<code class="language-csharp">public class RoleVM
{
public int ID { get; set; }
public string Name { get; set; }
public bool IsSelected { get; set; }
}
public class UserVM
{
public int ID { get; set; }
public string Name { get; set; }
public List<RoleVM> Roles { get; set; }
}</code>
ビューのチェックボックスを表示
ビューでは、HTML補助方法を使用して、USERVMの各文字のチェックボックスを表示します。
ユーザーを収集して、
<code class="language-csharp">public ActionResult Edit(int ID)
{
UserVM model = new UserVM();
User user = db.Find(ID); // 数据库查找方法示例
model.ID = user.ID;
model.Name = user.Name;
// 填充角色并根据用户角色设置其IsSelect属性
foreach (Role role in db.Roles) // 数据库查找方法示例
{
model.Roles.Add(new RoleVM
{
ID = role.ID,
Name = role.Name,
// 判断用户是否与角色关联
IsSelected = user.Roles.Any(ur => ur.RoleID == role.ID)
});
}
return View(model);
}</code>
を選択します
フォームに関連付けられたポスト操作では、バインディングモデルがバインドされ、更新された発行された属性はユーザーの選択を反映します。
このメソッドにより、正しいモデルバインディングが保証され、同時にユーザーが完全なオプションリストから選択し、選択したオプションをユーザーに関連付けることができます。
以上がチェックボックスのリストをASP.NET MVCのモデルに効率的にバインドする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。