Я изучаю ядро asp .net, и для этого я разрабатываю простое приложение для блогов. Я хочу отредактировать существующий пост и хочу иметь выпадающий список с категориями постов, но по умолчанию выбрал текущую категорию поста. Я не могу сделать это в представлении.
Вот моя ViewModel:
namespace Blog.Models.ViewModels
{
public class CategoryViewModel
{
public int Id { get; set; }
public string Title { get; set; }
public IEnumerable<Posts> Posts { get; set; }
public IEnumerable<Categories> Categories { get; set; }
}
}
Вот мое действие контроллера:
[HttpGet]
public async Task<IActionResult> Edit(int? id)
{
if (id == null)
{
return NotFound();
}
var posts = _db.Posts.ToList();
var post = posts.Where(m => m.Id.Equals(id));
var cats = _db.Categories.ToList();
CategoryViewModel categoryViewModel = new CategoryViewModel();
categoryViewModel.Posts = post;
categoryViewModel.Categories = cats;
return View(categoryViewModel);
}
И, наконец, вот мой взгляд:
<label for="postCategory">Category</label>
<select>
@foreach (var cats in Model.Categories)
{
<option value="@Html.DisplayFor(m => cats.Id)">
@Html.DisplayFor(m => cats.Title)
</option>
}
</select>
У меня вопрос, как сделать что-то похожее на это:
<option value="@Html.DisplayFor(m => cats.Id)" **if(post.Category = cats.Id){ print selected }**>
@Html.DisplayFor(m => cats.Title)
</option>