码迷,mamicode.com
首页 > Web开发 > 详细

Mvc中把list从View传入Controller

时间:2015-07-01 06:11:03      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

 

public class User
    {
        public string Name { get; set; }
        public bool IsChecked { get;set;}
        public int Age { get; set; }
    } 
 [HttpGet]
        public ActionResult Index()
        {
            var list = new List<User>()
            {
                new User() {Name = "hky", IsChecked = true, Age = 1},
                new User() {Name = "ds", IsChecked = true, Age = 1},
                new User() {Name = "dsdasd", IsChecked = true, Age = 1},
            };
            return View(list);
        }

 [HttpPost]
        public ActionResult Index(List<User> list)
        { 
            return View();
        }
@model List<MvcApplication1.Controllers.User>
@{
    Layout = null;
} 
<!DOCTYPE html> 
<html>
<head> 
    <title>Index</title>
</head>
<body>
   @using (Html.BeginForm())
   {
       for (int i = 0; i < Model.Count; i++)
       {
           @Html.TextBoxFor(x => Model[i].Name)
       } 
       <input type="submit" name="name" value=" 提交 "/>
   }
</body>
</html>

技术分享

通过谷歌查看源代码如下:

技术分享

是通过索引的形式来命名name,如果不是这种形式传值将不成功,至少我实验的是这样的,这个点我实验的时候也一直很奇怪为何后台用foreach的方式却无法接收

 @using (Html.BeginForm())
   { 
       foreach (var item in Model)
       {
            @Html.TextBoxFor(x => item.Name)
       } 
       <input type="submit" name="name" value=" 提交 "/>
   }

生成的html代码如下:

技术分享

我个人实验在后台始终无法接收到值

Mvc中把list从View传入Controller

标签:

原文地址:http://www.cnblogs.com/objectboy/p/4612192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!