2017-01-19 2 views
-2

Я хочу иметь динамическую таблицу в MVC. Я скопировал какой-то код из Интернета, но он не работает. У меня нет ошибки, но у меня нет никаких значений на моем сайте. Моя цель - просто небольшой веб-сайт с динамической таблицей.asp.net MVC как отображать значения в коллекции

Вид:

@model IEnumerable<ProjectName.Models.TestModel> 
@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> 
} 

Модель:

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

Контроллер:

List<testModel> model = new List<testModel>(); 
     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 testModel() 
      { 
       numbers = x.ToString() 
      }); 
     } 
     return View(model); 
+1

Что не работает. Что вы ожидаете, и что на самом деле происходит (обратите внимание, что управление формой не имеет отношения к модели и не связывается с чем-либо) –

+0

Несколько раз отображается текст «txt»? вы должны изменить строку html.textbox, как @Muntajib сказал –

+0

Обратитесь [этот ответ] (http://stackoverflow.com/questions/30094047/html-table-to-ado-net-datatable/30094943#30094943), чтобы понять, как связать с вашей коллекцией –

ответ

0

Вы просто объявляя текстовое поле, но не устанавливая значение в текстовое поле.

Insted этого

@Html.TextBox("txt") 

Использование этого:

@Html.TextBox("txt",item) 
+0

'item' - сложный объект (это не сработает) –

+0

С' @ Html.TextBox ("txt", item) 'Я получаю путь к модели ... – Mister

+0

заменить' @ Html.TextBox ("txt") ' с '@ item.numbers' – Seabizkit

Смежные вопросы