Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在mvc3中通过多个局部视图发布数据_C#_Asp.net Mvc_Asp.net Mvc 3_Jquery - Fatal编程技术网

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

C# 如何在mvc3中通过多个局部视图发布数据,c#,asp.net-mvc,asp.net-mvc-3,jquery,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

查看:

@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>
}
控制器

[httppost]
 public ActionResult Submit(parentmodel abc)
    {

    }
所以我的问题是,当我发布数据时,parentmodel返回为null,但当我尝试

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

我在model1中得到表单值。我的方法正确吗?如何在父模型中获取表单值?

很难从问题中看出您想做什么,但如果我理解正确,您希望同时将表单值传递给三个单独的部分


如果是这样的话,我建议跳过表单回发,在单击submit按钮时只进行三次ajax调用来加载片段。

首先,始终在顶部提到您的模型

@model MyMVCModels

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

这里是美,模型1的值必须是适当的,当你在你的文本框或控件设置


此外,模型的结构可能也不正确。

您能显示返回初始视图的操作吗?很难准确理解您想要的内容。如果使用
@Html.RenderPartial()
您将能够通过模型(通常是主模型的较小部分)。使用
@Html.Action()
会在视图中嵌入另一个操作结果,这与使用部分视图并不完全相同。不,实际上我想从三个部分视图中获取表单值(每个视图都有单独的控制器和视图,如上所示)在单亲控制器中,但我收到的值为空。如何获取父模型中的值?部分视图的每三个都有自己的模型作为model1,model2和model3。为了获取所有模型中的值,我创建了如上所述的父模型,它包含在上述模型中。但是父值为null。@user1199036如果您只想从父视图中的部分视图中获取表单值,您可以通过javascript访问它们,就像它们在父页面上一样。javascript不是推荐的方法。对于您对所显示的更改的帮助,我在部分视图中更正了它,并且成功了。能够在父控制器中获取值。在非顺序模型绑定方面,有没有其他更好的方法需求是父模型应该独立于部分视图模型。因此,在这种情况下,MymvcModels依赖于model1。它应该是独立的。有2种方法1。使用Jquery发布表单-简单易行。2.您可以使用Ajax@使用(Ajax.BeginForm(“Edit”、“MyController”、FormMethod.Post、new AjaxOptions(){UpdateTargetId=“details container”})){}details container->是我们需要更新数据的我的div。
[httppost]
public ActionResult Submit(model1 abc)
{
}