テーブル(マシン)からのレコードがアップロードされ、それぞれをビューで編集できるビューを作成しようとしています。ASP .NETコア:編集する複数の項目のグリッドを表示
これは私のGetメソッドです:
public async Task<IActionResult> Test()
{
return View(await _context.Machines.Include(t => t.MachineTypes).Include(p => p.Suppliers).AsNoTracking().ToListAsync());
}
私は必要なもののために非常にシンプル。私はテーブルのマシンのリストを取得していると関連するテーブル:MachineTypesとサプライヤーを含むので、この情報はビューで編集する必要があります。
今、私はかなり迷っています。残念です。
私は、使用するモデルを定義開始しました:
@model IEnumerable<Application.Models.Machine>
質問をはIEnumerableをを使用することが正しいです[回答]? UNIによって 回答:はい
そして、いくつかの実施例で見られるように、私はコントローラとアクションを示すためにHtml.BeginFormを使用するように:
@using (Html.BeginForm("Machines","TestPost"))
追記:がPostメソッドが定義されていませんまだ私は今
には任意の名前を使用しています次に、リストのすべての要素を読み取るために、反復が来る:
@Html.ValidationSummary(true)
@for(int i = 0; i < Model.Count() ; i++)
質問[回答済み]:この部分では、 'Model.Machine.Count()'が正しいかどうかわかりません。 によって返信uni:正しいです。 'Machine'を指定する必要はありません。
繰り返しの中で、まずMachineName(MchName)を表示するようにコードする方法はわかりません。私はこれをやっている:
@for(int i = 0; i < Model.Count() ; i++)
{
<tr>
<td>
@Html.HiddenFor(modelItem => modelItem.Machine[i].Id)
@Html.DisplayNameFor(model => model.MchName)
</td>
</tr>
}
[回答]質問を:この部分では:私はHiddenForを使用する必要がある理由
@Html.HiddenFor(modelItem => modelItem.Machine[i].Id)
は、私は知らないが、私は別の例でそれを見ましたフォーラムで。 uni:これはコントローラに値を送信する多くの方法の1つです。
質問[回答]:また、この部分ユニによって
@Html.HiddenFor(modelItem => modelItem.Machine[i].Id)
回答:'マシン' の
継続前と同じ、含める必要はありません。ビュー
反復部分については、「マシン」を含める必要はないため...
[新規]質問:Machineテーブルから希望のアイテムをどのように呼び出す必要がありますか?
は@for(int i = 0; i < Model.Count() ; i++)
{
<tr>
<td>
@Html.HiddenFor(modelItem => i.Id)
@Html.DisplayNameFor(modelItem => model.MchName)
</td>
</tr>
}
これはどちらも間違っているが、私は、反復内部のアイテムを表示する方法を理解しようとしていた。
私はこれを持っています。私はIEnumerableを使用しているので、for()の代わりに@foreachを使用すると最も良いでしょう。
おかげ
ありがとうございました!この後も疑問はなく、まだ.netコアでこれを行う方法を学んでいます。以下の疑問が追加されましたが、私はgoogleで探し続けます。 @univ –
Npがお手伝いします!あなたの問題を解決した場合は、答えをupvoteしてください:) あなたの新しい質問に答えるには、forループの代わりにforeachを使うべきであることに同意します – univ
私は試しましたが、まだ15の評判はありません。私はそのマークに達すると戻ってそれをやります! –