MVCを使用していて、[作成]ビューで複数のマルチ選択ボックスが必要です。MVC C#が異なるタイプで同じ操作を実行する
私は私がやりたいことに成功したが、明らかに私はしたくないコードの繰り返しでいる:
マイモデル:
public class ReportCreateModel
{
public MultiSelectList allDBtables;
public MultiSelectList allfrequencies;
public MultiSelectList allsql;
}
マイコントローラーを:
private Context db = new Context();
public ActionResult Create()
{
ReportCreateModel rcm = new ReportCreateModel();
//frequencies
List<SelectListItem> frequencyItems = new List<SelectListItem>();
foreach (Frequency f in db.dbFrequency.ToList())
{
SelectListItem item = new SelectListItem
{
Text = f.frequencyName,
Value = f.frequencyID.ToString()
};
frequencyItems.Add(item);
}
//systems
List<SelectListItem> systemItems = new List<SelectListItem>();
foreach (DataSystem s in db.dbSystem.ToList())
{
SelectListItem item = new SelectListItem
{
Text = s.systemName,
Value = s.systemID.ToString()
};
systemItems.Add(item);
}
//SQL
List<SelectListItem> sqlItems = new List<SelectListItem>();
foreach (SQL s in db.dbSQLUsed.ToList())
{
SelectListItem item = new SelectListItem
{
Text = s.SQLName + " (" + s.sqltypes.SQLTypeName + ")",
Value = s.SQLID.ToString()
};
sqlItems.Add(item);
}
rcm.allfrequencies = new MultiSelectList(frequencyItems, "Value", "Text");
rcm.allsystems = new MultiSelectList(systemItems, "Value", "Text");
rcm.allSQL = new MultiSelectList(sqlItems, "Value", "Text");
return View(rcm);
}
これは、のように動作します必要と私はMultiSelectListsから自分のビューでリストボックスを作成することができます誰かが私はコードを減らすことができますので、私はちょうど1つのコードブロックをコードを実行することができます示唆してください(dbFrequency、dbSystem、dbSQLUsed)
これは[Code Review SE](http://codereview.stackexchange.com/)に投稿してください。 –
@MatiasCiceroコード全体を変更してもコードレビューに投稿するべきではありません –