0

ドロップダウン リストからカテゴリとタグを選択し、それを post にバインドするフォームがあります。これが私の ViewModel です。

public class PostViewModel
    {
        public IList<Category> Category { get; set; }
        public IList<Tag> Tag { get; set; }
    }

これは私の取得アクションです:

  public ActionResult Add()
        {
            ViewBag.CategoryList = new SelectList(_categoryRepository.GetAllCategory());
            ViewBag.TagList = new SelectList(_tagRepository.GetAllTag());
            return View();
        }

Id dropdownlst を取得して Post アクションに送信するにはどうすればよいですか?? :

    <div>
        @Html.LabelFor(post => post.Category)
        @Html.DropDownListFor   ????
        @Html.ValidationMessageFor(post => post.Category)
    </div>

私はこれを試しましたが、うまくいきませんでした

<div>
            @Html.LabelFor(post => post.Category)
            @Html.DropDownListFor(post => post.Category, ViewBag.CategoryList as SelectList, "--- Select Category ---")
            @Html.ValidationMessageFor(post => post.Category)
        </div>

これについての解決策を教えてください、ありがとう

4

2 に答える 2

0

あなたは近かった:

public class PostViewModel
{
    public int CategoryId { get; set; } // <-- Altered
    public int TagId { get; set; } // <-- Altered
}

<div>
    @Html.LabelFor(post => post.Category)
    @Html.DropDownListFor(post => post.CategoryId, 
                                  ViewBag.CategoryList as IEnumerable<SelectListItem>, 
                                  "--- Select Category ---")
    @Html.ValidationMessageFor(post => post.Category)
</div>
于 2013-04-10T15:23:32.423 に答える