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)
    {

    }

所以我的问题是,当我发布数据时 parentmodel 返回为 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

从您的问题中很难说出您要尝试做什么,但是如果我理解正确,您想同时将表单值传递给三个单独的部分吗?

如果是这种情况,我建议您跳过表单回发,并在单击提交按钮时进行三个 ajax 调用来加载部分。

于 2012-10-25T13:14:49.287 回答