現在、ブログ用に ViewModel をセットアップしています。
public class PostViewModel
{
public string Title { get; set; }
public DateTime DateCreated { get; set; }
public string Content { get; set; }
public int CommentCount { get; set; }
public ICollection<Topic> Topics { get; set; }
public ICollection<Comment> Comments { get; set; }
}
これはコントローラーで完全に機能します:
private MyDB db = new MyDB();
public ActionResult Index()
{
var posts = (from p in db.Set<BlogPost>()
select new PostViewModel
{
Title = p.Title,
DateCreated = p.DateCreated,
Content = p.Content,
Topics = p.Topics,
Comments = p.Comments,
CommentCount = p.Comments.Count
}).ToList();
return View(posts);
}
この 2 つの部分があれば、リストを foreach して、対応するコメントとトピックを含むブログ投稿を生成することができます。ただし、トピックのリストが含まれている側にドロップダウンリストを配置したいと思います。ViewModel と HomeController も変更する必要があると思いますが、その方法がわかりません。
@Html.DropDownListFor(???????)
その後、私の Index.cshtml に入りますが、他のすべてがリストとして入ってくる場合、それをどのように処理するかわかりませんか?