C# asp.net中的单选按钮组
我正在使用以下代码尝试每个类别只选择一道菜C# asp.net中的单选按钮组,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在使用以下代码尝试每个类别只选择一道菜 @{ int i = 0; } @foreach (var category in categories) { <p class="font-weight-bold mb-0">@category.Name</p> foreach (var dish in category.Dishes) { <input name="dishes[@i]" type="radio" value="
@{ int i = 0; }
@foreach (var category in categories)
{
<p class="font-weight-bold mb-0">@category.Name</p>
foreach (var dish in category.Dishes)
{
<input name="dishes[@i]" type="radio" value="@dish.Id" /> @dish.Name<br />
}
<hr />
i++;
}
@{int i=0;}
@foreach(类别中的var类别)
{
@category.Name
foreach(类别中的var盘碟)
{
@菜名
}
i++;
}
问题是,使用此代码,当我选中2个单选按钮时,其中只有一个被保存,碟片显示为一个数组,其中只有我选中的第二项
public async Task<IActionResult> Create([Bind("Id,Name,Description,Image")] Menu menu, int[] dishes)
{
if (ModelState.IsValid)
{
_context.Add(menu);
IEnumerable<MenuDish> menuDishes = dishes.Select(id => new MenuDish { MenuId = menu.Id, DishId = id });
_context.AddRange(menuDishes);
公共异步任务创建([Bind(“Id,Name,Description,Image”)]菜单,int[]
{
if(ModelState.IsValid)
{
_添加(菜单);
IEnumerable MenuDish=disks.Select(id=>newmenudish{MenuId=menu.id,DishId=id});
_AddRange(menudishs);
如果要选择多个选项,则应使用复选框而不是收音机。我之所以使用收音机,是因为我希望每个类别有一个选项,但有多个类别带有选项。我看到了。您是否选中了数组int[]碟片?它包含正确的值吗?当我检查2个收音机时,只添加第二个值,假设我有碟片id 0和1(都在不同的类别中),在数组中我只看到int[1]我不明白你为什么会有问题。我复制了你的代码,并用一些测试数据运行了它,一切正常。问题似乎是某些类别没有碟形