2

コレクションを含むモデルがあります。EditorForパラメータとして単一の要素を持つアクションに投稿するフォームで各個人をラップしたいと考えています。すなわち:

class ModelWithCollection
{
    List<ElementModel> Elements { get; set; }
}

class ElementModel
{
    int Field { get; set; }
}

public ActionResult ElementAction(ElementModel viewModel)
{

}

ただし、viewModelプロパティが入力されていません。エディターが id をElements[0].Field. むしろアクションが好きなところField

どうすればこれを回避できますか?


ファイルのアップロードが含まれているため、jqueryなどを使用して手動で投稿を作成できるとは思いません。

4

2 に答える 2

2

EditorForexpressiontemplateName、およびの3 つの引数を取るのオーバーロードがありhtmlFieldNameます。式nullfor を指定するとtemplateName(それにより、通常の方法でエディター テンプレートを解決するようにヘルパーに指示されます)、空の文字列 for を指定すると、プレフィックスhtmlFieldNameなしでフィールドがレンダリングされます。Elements[0].

<%=Html.EditorFor(m => m.Elements[i], null, string.Empty)%>
于 2012-12-11T11:42:28.603 に答える