根据MVC中的条件动态创建表中的行

时间:2013-03-19 06:40:32

标签: asp.net-mvc

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

  1. 表格中的每一行应有3列。
  2. 如果对象数量超过3,则应在表格中创建一个新行。
  3. 我正在使用MVC 4进行此操作。

1 个答案:

答案 0 :(得分: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>
}