2013-03-19 64 views
1

我通過控制器將一組控件(複選框,單選按鈕等)作爲列表傳遞給其相應的視圖。這是我想要實現的。根據MVC中的條件動態創建表中的行

  1. 表中的每一行都應該有3列。
  2. 如果對象數大於3,則應在表中創建一個新行。

我使用MVC 4

+2

除了發佈您的需求之外,您忘記了展示了迄今爲止嘗試的內容以及您遇到的代碼遇到的困難。現在你聽起來更像是餐廳裏的客戶,而不是軟件開發人員在StackOverflow上詢問特定的編程相關問題。 – 2013-03-19 06:49:11

回答

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> 
}