【发布时间】:2018-07-03 21:48:49
【问题描述】:
我正在学习 asp .net core,为此我正在开发简单的博客应用程序。我想编辑现有的帖子,我想有帖子类别的下拉列表,但默认选择帖子的当前类别。我没有在视图上执行此操作。
这是我的 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>
【问题讨论】:
标签: html razor asp.net-core-2.0