0

見る:

@model 
@using (Html.BeginForm("action", "Controller"))
{
   @html.action("action1","controller1") //use model1
   @html.action("action2","controller2") //use model2
   @html.action("action3","controller3") //use model3
   <button type="submit">submit</button>
}

親モデル

{
  public model model1{get; set;} 

  public model model2{get; set;} 

  public model model3{get; set;} 
}

コントローラ

[httppost]
 public ActionResult Submit(parentmodel abc)
    {

    }

だから私の質問は、データを投稿すると親モデルがnullとして返されるが、試してみると

[httppost]
public ActionResult Submit(model1 abc)
{
}

model1 でフォームの値を取得します。私のアプローチは正しいですか?親モデルでフォームの値を取得するにはどうすればよいですか?

4

2 に答える 2

1

まず第一に、あなたのモデルを常に一番上に記載してください。

@model MyMVCModels

@Html.TextBoxFor(m => m.Model1.Name)

これが美しさです。テキストボックスまたはコントロールに設定している間、モデル 1 の値は適切でなければなりません。

また、モデルの構造も正しくない可能性があります。

于 2012-10-25T14:02:00.023 に答える
0

あなたの質問からあなたが何をしようとしているのかを伝えるのは本当に難しいですが、私がそれを正しく理解していれば、フォームの値を3つの別々のパーシャルに同時に渡したいですか?

その場合は、フォームのポストバックをスキップして、送信ボタンをクリックしたときにパーシャルをロードするために ajax 呼び出しを 3 回行うことをお勧めします。

于 2012-10-25T13:14:49.287 に答える