私のデータベースには、これら2つのテーブル(プロジェクトとテーマ)があります。
ProjectIDとThemeを含むProject_Themeというミドルテーブルもあります。
テーマには、約15個の値が事前設定されています。
これらすべてのテーマをチェックボックスに表示することはできますが、データベースに保存する方法がわかりません。
これが私のコントローラーです:
private ProjectContext db = new ProjectContext();
//
// GET: /Project/
public ActionResult Index()
{
return View(db.Project.OrderBy(i => i.Name).ToList());
}
//
// GET: /Project/Create
public ActionResult Create()
{
var model = new Project();
ViewBag.Theme = db.Theme.ToList();
return View(model);
}
これが私のモデルです:
public class Project
{
[Key]
public int ID { get; set; }
public string Type { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Date { get; set; }
}
そして私の2番目のモデル:
public class Theme
{
[Key]
public int ThemeID { get; set; }
public string Name { get; set; }
}
最後に、これが私の作成ビューです:
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<div style="text-align:center;padding:0 1px 0 1px" >
<table>
<tr align="left">
<td>
<div class="editor-label" style="width:110px">
<label for="theme">Theme(s)* : </label>
</div>
</td>
<td>
<div class="editor-field">
@foreach (var t in theme)
{
<label class="checkbox">
<input type="checkbox" name="theme" value="@t.ThemeID"> @c.Name
</label>
}
</div>
</td>
</tr>
<tr align="left">
<td>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
</td>
<td>
<div class="editor-field focus">
@Html.TextBoxFor(model => model.Name, new { style = "width:410px" })
@Html.ValidationMessageFor(model => model.Name)
</div>
</td>
</tr>
.........
だから私を助けてくれる人がいたらお願いします、それは本当に素晴らしいでしょう:)