如何通过mvc3中的多个局部视图发布数据

时间:2012-10-25 12:45:56

标签: c# asp.net-mvc asp.net-mvc-3 jquery

查看:

@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中获取表单值。我的做法是对的吗?如何在父模型中获取表单值?

2 个答案:

答案 0 :(得分:1)

首先,请始终在顶部提及您的模型。

@model MyMVCModels

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

这是美丽的,当您在文本框或控件中进行设置时,Model 1值必须合适。

同样,模型的结构可能也不正确。

答案 1 :(得分:0)

很难从你的问题中判断出你想要做什么,但如果我理解正确,你想要将你的表格值同时传递给三个独立的部分?

如果是这种情况,我建议跳过表单回发,只需点击提交按钮就可以进行三次ajax调用来加载部分内容。