私は、Phil Haacksの "モデルバインディングリスト"からSteve Sandersonの "可変長リストの編集"への記事を読んで今問題を解決しようとしていますが、本当にうまくいきます。テーブルにモデル行を動的に追加する
私は2つのモデル - 注文と記事を持っています。注文には多くの記事があります。オーダービューにはarticlesテーブルが含まれています。
現在、OrderFor View Model(Model => model.Articles)を使用して最初のテーブル行を作成しています。
これは、Articlesがリストであり、正しいリスト項目を返すことを認識します。ここまでは順調ですね。
これで記事を表の行に追加するが、ControllerへのAJAXリクエストを使用して、記事の表の行のみを含む部分ビューを返すリンクが必要になりました。 http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/
しかし、私の問題は、ASP.NET MVCスタイルの記事行シーケンスをどのように続けることができるかわからないため、送信時に認識されるようになっていることです。 (例:記事[1]。番号記事[2]。番号など)
ここに私のコードです。
@model Bestellinterface.Models.Article
@{
Layout = null;
}
@Html.EditorFor(model => model)
作品罰金:リンク「の記事を追加する」の記事を追加し、受注/ BlankArticleRow
public ActionResult BlankArticleRow(int pos)
{
Article article = new Article()
{
Position = pos
};
return View(article);
}
/にAJAXリクエストを送信する必要がありBlankArticleRowのための部分的なビューは次のようになります。 「記事を追加」リンクをクリックすると、行が追加されますが、テキストフィールドなどの属性には正しい書式がありません。私は欲しいのは、html要素の番号付けを続けているということです。記事[0]。番号、記事[1]。番号、記事[2]。番号...
EditorForでは可能ですか?番号を付け続けるようにリストをシミュレートする方法はありますか?このため
こんにちはベンを、そのコードを一番上に置きますか?私のOrderViewModelには、記事をレンダリングするためのコードが既に含まれているので、うまく動作します。私の問題は部分的なビューであり、テーブルの行だけをレンダリングする必要があります。私が本当に探しているのはEditorForのパラメータで、エディタフォースは入力を "リストスタイル"でレンダリングしますが、AFAIKは不可能なので、おそらくjavascriptの解決策に固執します。 – user1320304