2017-01-19 9 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

@Html.TextBox("txt")を置き換える:

この

@Html.TextBox("txt") 

のInstedはこれを使用してください。何が起こると予想され、実際に何が起こるか(フォームコントロールはモデルと関係がなく、何かにバインドされないことに注意してください) –

+0

"txt"テキストを何度か表示していますか? @Muntajibはhtml.textboxの行を変更する必要があります –

+0

方法を理解するには[[この回答](http://stackoverflow.com/questions/30094047/html-table-to-ado-net-datatable/30094943#30094943)を参照してくださいあなたのコレクションにバインドしてください –

答えて

0

動作していない何@item.numbers

0

あなただけのテキストボックスを宣言しますが、テキストボックスに値を設定されていません。

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

'item'は複雑なオブジェクトです(これは動作しません) –

+0

' @ Html.TextBox( "txt"、item) 'モデルパスを取得します... – Mister

+0

' @ Html.TextBox( "txt") ' '@ item.numbers'で – Seabizkit

関連する問題