1

我通过控制器将一组控件(复选框、单选按钮等)作为列表传递到其相应的视图。这是我想要实现的目标。

  1. 表中的每一行应该有 3 列。
  2. 如果对象的数量超过 3 个,则应在表中创建一个新行。

我正在使用 MVC 4 执行此操作。

4

1 回答 1

2

这是你可以在 mvc 中做到的方式:

模型:

    public class Class1
    {
          public string numbers { get; set; }
    }

控制器代码:

    public ActionResult About()
        {
            ViewBag.Message = "Your app description page.";
            //Sample1--load array data using linq
            List<Class1> model = new List<Class1>();
            int[] numbersdata = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 15, 14, 11, 13, 19, 18, 16, 17, 12, 10 };

            var lowNums = from n in numbersdata where n > 5 select n;

            foreach (var x in lowNums)
            {
                model.Add(new Class1()
                {
                    numbers = x.ToString()
                });
            }
            return View(model);
        }

看法 :

@model IEnumerable<MvcApplication1.Models.Class1>
@using (Html.BeginForm())
{
    <table width="960px">
        <tr>
            @{
    int crow = 1;
    foreach (var item in Model)
    {
                <td style="border: 1px solid black;" width="600px">
                    <ul style="list-style: none;">
                        <li>
                            @Html.TextBox("txt")
                        </li>

                    </ul>
                </td>
        if (crow % 3 == 0)
        {                                                    
                <tr>
                    <td style="width: 285px; height: 50px">
                    </td>
                </tr>
        }
        crow++;
        }
     }
        </tr>
    </table>
}
于 2013-03-19T06:52:02.813 回答