Asp.net mvc 4 未使用Ajax将模型发布到控制器

Asp.net mvc 4 未使用Ajax将模型发布到控制器,asp.net-mvc-4,ajax.beginform,Asp.net Mvc 4,Ajax.beginform,我很困惑,真的需要一些帮助。我是第一次来,所以我希望你对我有耐心。这就来了。 我试图使用Ajax Begin表单将模型发布到控制器上,但在控制器上总是得到null。 这一观点 <div class="col-md-6" id="secondColumn"> <div id="OtherData"> @Html.Partial("BindOthLangData", Model.VodCombinedData[2]) </div> </div>

我很困惑,真的需要一些帮助。我是第一次来,所以我希望你对我有耐心。这就来了。 我试图使用Ajax Begin表单将模型发布到控制器上,但在控制器上总是得到null。 这一观点

<div class="col-md-6" id="secondColumn">
 <div id="OtherData">
  @Html.Partial("BindOthLangData", Model.VodCombinedData[2])
 </div>
 </div>
这是我的模型

public class Combinedmodel
{
   List<Data> contentDataLst = new List<Data> ();

    public List<Data> ContentDataLst
    {
        get { return contentDataLst; }
        set { contentDataLst = value; }
    }
}

public class Data
{
  public string OperatorFiledName {get;set;}
  public int AttributeID {get;set;}
  public int Srid {get;set;}
  public string Value {get;set;}
  public string HtmlType {get;set;}
}

我不知道我做错了什么。。请帮忙。已调用该操作,但发布到控制器的模型为null

根据for循环,您正在发布列表,而不是Combinedmodel

将操作方法参数更新为:

public JsonResult selectAction(String submitButton, List<Data> contentDataLst)

根据for循环,您正在发布列表,而不是Combinedmodel

将操作方法参数更新为:

public JsonResult selectAction(String submitButton, List<Data> contentDataLst)

是否可以使用浏览器开发人员工具并在“网络”选项卡中确认您正在向服务器发送数据?请删除@Html.EditorForx=>x.ContentDataLst[i],Model.ContentDataLst[i].HtmlType,除非您对数据类型有自定义的EditorTemplate,否则其生成名称=ContentDataLst[0],这将清除所有其他数据。您显示的代码中的所有其他内容都是正确的,但是您没有显示足够的信息来理解您试图使用该编辑器执行的操作method@StephenMuecke我正在尝试动态生成控件,这就是为什么我在EditorTemplates中使用EditorFor,第一个参数是我要绑定到模板的数据,第二个参数提供模板的名称。您甚至还没有显示与其关联的代码!。只需注释它,并检查模型现在是否绑定到隐藏的输入属性。@StephenMuecke我按照您的建议注释了EditorFor,但它不起作用。这些值仍然没有发布到控制器。您可以使用浏览器开发人员工具并在“网络”选项卡中确认您正在将数据发送到服务器吗?请删除@Html.EditorForx=>x.ContentDataLst[i],Model.ContentDataLst[i].HtmlType,除非您对数据类型有自定义的EditorTemplate,然后其生成名称=ContentDataLst[0]这会清除所有其他数据。您显示的代码中的所有其他内容都是正确的,但是您没有显示足够的信息来理解您试图使用该编辑器执行的操作method@StephenMuecke我正在尝试动态生成控件,这就是为什么我在EditorTemplates中使用EditorFor,第一个参数是我要绑定到模板的数据,第二个参数提供模板的名称。您甚至还没有显示与其关联的代码!。只需注释它,并检查模型现在是否绑定到隐藏的输入属性。@StephenMuecke我按照您的建议注释了EditorFor,但它不起作用。值仍未过帐到控制器视图中的模型为Combinedmodel,代码基于模型属性创建输入,因此POST方法必须为Combinedmodel OBJData视图中的模型为Combinedmodel,代码基于模型属性创建输入,因此POST方法必须为Combinedmodel奥比达
public JsonResult selectAction(String submitButton, List<Data> contentDataLst)