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]我不明白你为什么会有问题。我复制了你的代码,并用一些测试数据运行了它,一切正常。问题似乎是某些类别没有碟形