0

コレクションであるプロパティを持つモデルがあります。編集アクションから正常にバインドできます。次に例を示します。

    [HttpGet]
    public ActionResult Edit(string id)
    {
        // code here
        return this.View(complexModel);            
    }

    [HttpPost]
    public ActionResult Edit(ComplexModel complexModel)
    {
        // code here
        return RedirectToAction("AnotherAction")            
    }

post メソッドでは、コレクションを含むすべてのオブジェクト プロパティを正常に受け取ることができます。ただし、編集アクションを呼び出すことができる別のビューがあります。これが発生すると、レンダリングされた html が同じであることがわかります (つまり、ネストされたプロパティ情報があります)。投稿編集で変更を保存すると、1 つの例外を除いてすべての正しいプロパティを受け取ります。コレクション プロパティにはアイテムがありません。

どこで問題を検索する必要がありますか?

更新: コレクションを適切に反復処理し、すべてのアイテムを EditorFor で表示しています。ただし、まったく同じモデルを使用して別のビュー (別のビューが別のコントローラーにあり、[編集] リンクが表示テンプレートに配置されている場合) から来る場合、すべてのプロパティが同じであるため、html が同じであることがわかります。のコレクションがあります。

4

2 に答える 2

1

わかりました、誤報です。私はそれを理解しました-@Html.ActionLink;を使用してアクションメソッドを呼び出しています。IDだけでなく、モデル全体を渡していました。物事が台無しになった愚かな理由はわかりませんが、今は大丈夫です。

于 2012-10-19T21:28:15.560 に答える
0

編集ビューはどのように見えますか? コレクション内のすべてのアイテムをフォーム要素として反復処理する必要があります。

于 2012-10-19T21:08:46.867 に答える