显示对象列表并返回要查看的值

时间:2015-11-19 09:03:19

标签: c# list model-view-controller web-applications

我有2个型号。在第一个模型中,“Checkmodel”描述了对象的外观。 第二个模型“Checkmodels”基于“Checkmodel”创建对象列表。

现在我尝试在我的视图中显示它,但我只是不知道该怎么做。

  1. 模型“Checkmodel”
  2. namespace WebAppMVCtests.Models
    {
        public class CheckModel
        {
            public string Name { get; set; }
            public bool IsChecked { get; set; }
            public CheckModel(string name, bool ischecked)
            {
                this.Name = name;
                this.IsChecked = ischecked;
            }
        }
    }
    
    1. 模型“Checkmodels”
    2.  namespace WebAppMVCtests.Models {
           public class CheckModels : List<CheckModel>
           {
               private List<CheckModel> modellist;
      
               public CheckModels()
               {
                   modellist = new List<CheckModel>();
               }
      
               public void Add(string name, bool ischecked)
               {
                   CheckModel newModel = new CheckModel(name, ischecked);
                   this.Add(newModel);
               }
           } 
      }
      

      控制器

      namespace WebAppMVCtests.Controllers
      {
          public class HomeController : Controller
          { 
              // GET: Home
              [HttpGet]
              public ActionResult Index()
              {
                  CheckModels chmdls = new CheckModels();
      
                  List<string> e = new List<string>();
      
                  e.Add("John");
                  e.Add("Kevin");
                  e.Add("Mark");
      
                  string name = "";
                  bool ischecked = false;
      
                  foreach (var dir in e)
                  {
                      CheckModel newCheckModel = new CheckModel(name, ischecked);
      
                      chmdls.Add(newCheckModel);
                  }
      return View();
              }
      
              [HttpPost]
              public ActionResult Index(List<CheckModel> list)
              {
                  return View();
              }
          }
      }
      

      查看

      @model WebAppMVCtests.Models.CheckModels
      @{
          ViewBag.Title = "Index";
      }
      <h2>Index</h2>
      
      @using (Html.BeginForm())
      {
          for (var i = 0; i < Model.Count(); i++)
          {
              <table>
                  <tr>
                      <td>
                          @Html.DisplayFor(it => it[i].Name)
                      </td>
                      <td>
                          @Html.CheckBoxFor(it => it[i].IsChecked)
                      </td>
                  </tr>
              </table>
      
          }
      
          <input id="Submit1" type="submit" value="submit" />
      
      }  
      

1 个答案:

答案 0 :(得分:0)

在Index方法中执行此操作:

return View(chmdls);