hari19113 Ответов: 1

Проблема в обратной передаче списка чекбоксов ASP.NET MVC


Привет,

Я пытаюсь создать checkboxlist в ASP.NET MVC. Я попробовал это из учебника, приведенного ниже
Создание простого Checkboxlist в MVC 4 с помощью Razor[^]

Я столкнулся с проблемой, которую не в состоянии решить.
Ниже приведен код для того же самого.

//Model
namespace MvcCheckBox.Models
{
   public class CheckModel
   {
      public int Id{get;set;}
      public string Name{get;set;}
      public bool Checked{get;set;}
   }
}
//Controller
namespace MvcCheckBox.Controllers
{
   public class HomeController:Controller
   {
      [HTTPGet]
      public ActionResult Index()
      {
         var list=new List<CheckModel>{new CheckModel{Id=1,Name="A",Checked=false},
                                     new CheckModel{Id=2,Name="B",Checked=false},};
         return View(list);
      }
      [HTTPPost]
      public ActionResult Index(List<CheckModel> list)
      {
         return View(list);
      }
   }
}

//View
@model List<MvcCheckBox.Models.CheckModel>
@{
   viewBag.Title="Index";
}
<h2>Index</h2>
@using(Html.BeginForm())
{
   for(var i= 0;i<Model.Count;i++)

   {

      <table><tr>
         <td>
            @Html.HiddenFor(it=>it[i].Id)
            @Html.HiddenFor(it=>it[i].Name)
         </td>
         <td>
            @Html.CheckBoxFor(it=>it[i].Checked,new{Style="vertical-align:3px"})
         </td>
      </tr></table>
   }
   <input id="Submit1" type="submit" value="Submit"/>
}


Вопрос:
Когда я запускаю код, выводится именно то, что должно быть, то есть отображается имя и флажок.
После установки флажка и нажатия на кнопку Отправить он не отображает имя, т. е. во время обратной передачи флажок отображается без имени. После применения точки останова список показывает свойство " имя " как пустое.
Я не в состоянии понять проблему.
Я новичок в этом деле. ASP.NET MVC, так что все еще экспериментирую с MVC.

Спасибо и с уважением
Хари

Что я уже пробовал:

Я не знаю, что попробовать или поиск. Любая помощь / предложение приветствуются и будут стараться реализовать его.

1 Ответов

Рейтинг:
1

avelsamy

Привет,

Вы пытаетесь дать тот же идентификатор для флажков

это невозможно

попробуйте с другим идентификатором


hari19113

Извините, сэр,это опечатка. В реальном коде я предоставил различные значения. Извините за беспокойство. Я отредактирую код.

hari19113

Извините, сэр,это опечатка. В коде я предоставил "Id" с определенным значением.
Извините за беспокойство, я улучшил вопрос.