1

MVC アプリケーションにチェックボックス リストを実装しようとしています。ここでは、選択したチェックボックス リストの値を取得して、それを @html.ActionLink() に渡す必要があります。
Stackoverflow を含む多くのサイトを検索しましたが、データベース値のモデル バインディングはなく、選択したチェックボックスの値を取得してアクションに渡します。
例:https://stackoverflow.com/questions/4872192/checkboxlist-in-mvc3-0

そして、このリンクから試しました。CheckBoxListの複数選択:バインドをモデル化してすべての選択を取得する方法は?

チェックボックス リストから選択された productid を取得する方法。例はありますか.. ??

4

1 に答える 1

3

見る:

@foreach (var item in Model.Tags)
{ <label>
      <input type="checkbox" name="tag" value="@item.TagID" @if (item.Selected) { <text>checked="checked"</text> } />@item.Name
  </label>
}

コントローラ:

    [HttpPost]
    public RedirectToRouteResult Edit(IEnumerable<Guid> tag)
    {
        using (var dc = new MyDataContext())
        {
            var existing = dc.Tag
                .Select(i => i.TagID)
                .ToList();

            // remove old
            foreach (var id in existing.Except(tags.EmptyIfNull()))
                dc.Tag.DeleteOnSubmit(dc.Tag.Single(k => k.TagID == id);

            // add new
            foreach (var id in tags.EmptyIfNull().Except(existing))
                dc.Tag.InsertOnSubmit(new Tag() { TagID = id, });

            dc.SubmitChanges();
        }

        return RedirectToAction("List");
    }
于 2012-11-01T15:02:03.957 に答える