0

私はモデルを持っています:

public class CustomerAttributes
{
    public Int Id { get; set; }
    public string value { get; set; }
}

私の作成ビューは次のようになります。

    <div class="editor-label">
        @Html.Label("Name")
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Value)
        @Html.ValidationMessageFor(model => model.Value)
    </div>

    <div class="editor-label">
        @Html.Label("Age")
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Value)
        @Html.ValidationMessageFor(model => model.Value)
    </div>

    <div class="editor-label">
        @Html.Label("Height")
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Value)
        @Html.ValidationMessageFor(model => model.Value)
    </div>

したがって、各テキストボックスはデータベース内の新しいレコードになります。このようなことは可能ですか?どうすればこれを処理できますか? また、私の最大の問題は、各フィールドがテキストボックスまたはコンボボックスまたはラジオになる可能性があることです....など...名前はたとえばテキストボックスかもしれませんが、年齢はコンボボックスかもしれません....すべてのテキストボックスがあることはわかっていますが、それは変わる可能性があります。

4

2 に答える 2

0

コメントで提供されたリンクは役に立ちました:

http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/

これに加えて、文字列や列挙型などを保持して、表示するコントロールのタイプを指定し、さまざまなコントロールを表示する一部のビューを指定できるViewModelがあります。次に、その指定子に基づいて、ビューに各コントロールを繰り返し表示します。

于 2012-12-11T21:34:38.450 に答える
0

CustomerAttributes モデルの IEnumerable ViewModel を作成することを個人的にお勧めします。

このようにして、複数の値をコントローラーに戻すことができます。

新しいフォーム要素を追加するたびに (動的に追加すると仮定して)、モデル内に新しいアイテムを作成するだけです。

于 2012-12-11T15:56:23.187 に答える