初心者からプロへのちょっとした簡単な質問。リストの送信<T>のアイテム
私はアプリケーションで編集可能なグリッドタイプのフォームを実装しようとしています。ここに例があります。私は、ユーザーが最後の2つのフィールド(nett_prcと数量を編集できるようにしたいので
@for (int i = 0; i < Model.Items.Count; i++)
{
<tr>
<td>@Html.CheckBoxFor(m => m.Items[i].fav_ind)
</td>
<td>
<a href="#" onclick="ShowDeals(@Model.Items[i].item_no);event.returnValue = false; return false;">
DEALS</a>
</td>
<td>@Html.DisplayFor(m => m.Items[i].item_no)
</td>
<td>@Html.DisplayFor(m => m.Items[i].item_desc)
</td>
<td>@Html.DisplayFor(m => m.Items[i].mfr_item)
</td>
<td>@Html.DisplayFor(m => m.Items[i].pack_size)
</td>
<td>@Html.DisplayFor(m => m.Items[i].purc_uom)
</td>
<td>@Html.DisplayFor(m => m.Items[i].purc_uom_conv)
</td>
<td>@Html.DisplayFor(m => m.Items[i].list_prc)
</td>
<td>
@Html.TextBoxFor(m => m.Items[i].nett_prc)
</td>
<td>
@Html.TextBoxFor(m => m.Items[i].Qty)
</td>
</tr>
}
これ@Forは、Html.BeginFormの内側にある。(このグリッドの下部に下を提出し、テーブルもあります)
私が提出するとき、私はすべての行をコントローラに戻しますが、項目にはHtml.TextBoxFor()の2つのフィールドのみが入っています。私は@ Html.HiddenFor()を使用することができますが、私はラベルに他のフィールドを表示することができますし、ユーザが提出するときに私は値のお尻がうまくいきたいと思っています。
Th事前にanks。
私たちはAppServerからデータを取得していますが、これはかなり遅いです。ですからAppServerを呼び出すことなく、できるだけ多くのことをしたいと思います。より良い方法が必要であるように見えますが、モデルのPropertyに属性を追加することはできません。それは情報を保持しますか? – CaptainOrgange
@CaptainOrgrange:一度読んだら、それらを 'Session'に入れてください。あなたがそれを提案する方法では、ユーザーはHTTP要求を作成することによってフォームの*すべての*フィールドを編集することができます。 – Jon
私は結果をキャッシュするように見えます。私が使うことができる他の注釈を知っていますか? – CaptainOrgange