Asp.net core 如何在ASP.NET CORE中的复选框中获取选定项id的值?
我有三张桌子。第一个用于电影,第二个用于类别,第三个(MovieCategor)用于保留电影Id和类别Id 我想插入电影并选择类别。我将列表添加到类别中,就像复选框添加到页面视图中一样。如何为Movie和MovieCategor表进行插入 查看页面-Asp.net core 如何在ASP.NET CORE中的复选框中获取选定项id的值?,asp.net-core,checkbox,insert,multi-table,Asp.net Core,Checkbox,Insert,Multi Table,我有三张桌子。第一个用于电影,第二个用于类别,第三个(MovieCategor)用于保留电影Id和类别Id 我想插入电影并选择类别。我将列表添加到类别中,就像复选框添加到页面视图中一样。如何为Movie和MovieCategor表进行插入 查看页面- <ul style="list-style-type: none"> @foreach (var category in Model.Categories)
<ul style="list-style-type: none">
@foreach (var category in Model.Categories)
{
<li>
<input type="checkbox" value="@category.Id" name="Id" class="form-check-input" id="exampleCheck1">
<label class="form-check-label" for="exampleCheck1">@category.CategoryName</label>
</li>
}
</ul>
它们将映射到布尔。包括您的电影和电影类别模型。如果我理解正确,您可能希望这里有多对多关系。是的,我有多对多关系,但如何在查看页面上获取类别Id?那么,如果我做了值ıd的复选框按钮,我可以得到类别Id吗?检查这篇文章的答案:在你的情况下,值就是Id。因此,您将返回一个categoryId列表,您可以对其进行迭代以生成数据库条目。(我相信任何未检查的值都不会返回…asp.net会忽略表单中的假布尔…@pcalkins感谢您的帮助。。我弄明白了。成功了:)
public IActionResult Create(MovieCreateViewModel movieCreateViewModel,int[] Id)
{
if (ModelState.IsValid)
{
string fileName = UploadFile(movieCreateViewModel);
Movie movie = new Movie()
{
Name = movieCreateViewModel.Name,
Director = movieCreateViewModel.Director,
Summary = movieCreateViewModel.Summary,
Banner = fileName,
MoviesCategory = movieCreateViewModel.MoviesCategories
};
foreach (var id in Id)
{
MoviesCategory moviesCategory = new MoviesCategory();
moviesCategory.CategoryId = id;
moviesCategory.MovieId = movie.Id;
_movieCategoryService.Add(moviesCategory);
}
_movieService.Add(movie);
return RedirectToAction("List");
}
return View();
}
}