Asp.net 使用Ajax.begin通知ViewModel post为空

Asp.net 使用Ajax.begin通知ViewModel post为空,asp.net,asp.net-mvc-4,Asp.net,Asp.net Mvc 4,我的ajax表单有问题: 我有这个密码 @using (Ajax.BeginForm("Search", "SyntheseEvt", FormMethod.Post, new AjaxOptions {

我的ajax表单有问题: 我有这个密码

@using (Ajax.BeginForm("Search", "SyntheseEvt",
                                            FormMethod.Post,
                                            new AjaxOptions
                                            {
                                                InsertionMode = InsertionMode.Replace,
                                                HttpMethod = "POST",
                                                UpdateTargetId = "search-results"
                                            }
                                            ))

        {
        <div class="row">
        @{
         CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;


        <div class="col-md-4">
            <div class="dx-field-label">@Resources.Resource.DDebut</div>
            <div class="dx-field-value">
                @(Html.DevExtreme().DateBox()
                        .ID("DtDebut")
                        .Type(DateBoxType.Date)
                        .Value(Model.paramSynthese.DtDebut_c)
                    .DisplayFormat(currentCulture.DateTimeFormat.ShortDatePattern)
                )
但我的搜索视图模型中的所有内容都为空

我认为这是关于devextreme html元素的。
我正在尝试将嵌套模型paramsyntheveviewmodel绑定到控制器中的post操作——


有人知道吗?

嘿,伙计们,我解决了这个问题:我的子模型缺少get/set属性

表单控件的
name
属性必须与模型中属性的名称匹配。它甚至不清楚你想绑定什么,甚至不知道视图中的模型是什么!如果它是searchsyntheevtviewmodel,则不会绑定任何内容,因为它甚至没有任何属性,只有
DefaultModelBinder
无法在视图中设置模型的字段是父模型@model searchsyntheevtviewmodel我正在尝试将嵌套模型paramsyntheevtviewmodel绑定到控制器中的post操作阅读我以前的注释!您不能绑定到字段,输入的
name
属性必须是
name=“paramSynthese.dtc”
public class SearchSyntheseEvtViewModel
{
    public C_DAL_TRS_ATELIER DAL_TRS_ATELIER_c;
    public List<C_BEL_TRS_ATELIER> ListBEL_TRS_ATELIER_c;
    public C_DAL_TRS_MACHINE DAL_TRS_MACHINE_c;
    public List<C_BEL_TRS_MACHINE> ListBEL_TRS_MACHINE;
    public ParamSyntheseEvtViewModel paramSynthese;


    public  SearchSyntheseEvtViewModel()
    {
    }
    public SearchSyntheseEvtViewModel Initialiser()
    {
        this.DAL_TRS_ATELIER_c = new C_DAL_TRS_ATELIER(C_Interface_Meta.Mesbdd_p, C_Interface_Meta.IndexBdd_p);
        this.DAL_TRS_MACHINE_c = new C_DAL_TRS_MACHINE(C_Interface_Meta.Mesbdd_p, C_Interface_Meta.IndexBdd_p);
        paramSynthese = new ParamSyntheseEvtViewModel();
        paramSynthese = paramSynthese.Initialiser();
        paramSynthese = paramSynthese.Charger();
        return this;
    }
    public SearchSyntheseEvtViewModel Charger()
    {
        DAL_TRS_ATELIER_c.Charger(ref ListBEL_TRS_ATELIER_c);
        DAL_TRS_MACHINE_c.Charger(ref ListBEL_TRS_MACHINE);
        return this;
    }
}


public class ParamSyntheseEvtViewModel
{
    public string AT_ID_c { get; set; }
    public string TR_ID_c { get; set; }
    public DateTime DtDebut_c;
    public DateTime DtFin_c;
    public Metaproductique.Kmprod.Km_Synthese_Moteur.C_SyntheseEvenement Moteur_c { get; set; }
    public List<string> MA_ID_c { get; set; }
    public List<string> RE_ID_c { get; set; }
    public C_SyntheseEvenement.Regroupement Regroupement_c { get; set; }
    public C_SyntheseEvenement.Type Type_c { get; set; }
    public DataSet DsDonnees_c = new DataSet();
    public string Requete;
    public ParamSyntheseEvtViewModel()
    {
    }
    public ParamSyntheseEvtViewModel Initialiser()
    {
        Moteur_c = new Metaproductique.Kmprod.Km_Synthese_Moteur.C_SyntheseEvenement();
        Moteur_c.Initialiser(C_Interface_Meta.Mesbdd_p, C_Interface_Meta.IndexBdd_p);
        DtDebut_c = DateTime.Now.AddYears(-1);
        DtFin_c = DateTime.Now;
        return this;
    }


    public ParamSyntheseEvtViewModel Charger()
    {
        return this;
    }
public class SearchSyntheseEvtViewModel
{
    public C_DAL_TRS_ATELIER DAL_TRS_ATELIER_c;
    public List<C_BEL_TRS_ATELIER> ListBEL_TRS_ATELIER_c;
    public C_DAL_TRS_MACHINE DAL_TRS_MACHINE_c;
    public List<C_BEL_TRS_MACHINE> ListBEL_TRS_MACHINE;
    public ParamSyntheseEvtViewModel paramSynthese;


    public  SearchSyntheseEvtViewModel()
    {
    }
    public SearchSyntheseEvtViewModel Initialiser()
    {
        this.DAL_TRS_ATELIER_c = new C_DAL_TRS_ATELIER(C_Interface_Meta.Mesbdd_p, C_Interface_Meta.IndexBdd_p);
        this.DAL_TRS_MACHINE_c = new C_DAL_TRS_MACHINE(C_Interface_Meta.Mesbdd_p, C_Interface_Meta.IndexBdd_p);
        paramSynthese = new ParamSyntheseEvtViewModel();
        paramSynthese = paramSynthese.Initialiser();
        paramSynthese = paramSynthese.Charger();
        return this;
    }
    public SearchSyntheseEvtViewModel Charger()
    {
        DAL_TRS_ATELIER_c.Charger(ref ListBEL_TRS_ATELIER_c);
        DAL_TRS_MACHINE_c.Charger(ref ListBEL_TRS_MACHINE);
        return this;
    }
}


public class ParamSyntheseEvtViewModel
{
    public string AT_ID_c { get; set; }
    public string TR_ID_c { get; set; }
    public DateTime DtDebut_c;
    public DateTime DtFin_c;
    public Metaproductique.Kmprod.Km_Synthese_Moteur.C_SyntheseEvenement Moteur_c { get; set; }
    public List<string> MA_ID_c { get; set; }
    public List<string> RE_ID_c { get; set; }
    public C_SyntheseEvenement.Regroupement Regroupement_c { get; set; }
    public C_SyntheseEvenement.Type Type_c { get; set; }
    public DataSet DsDonnees_c = new DataSet();
    public string Requete;
    public ParamSyntheseEvtViewModel()
    {
    }
    public ParamSyntheseEvtViewModel Initialiser()
    {
        Moteur_c = new Metaproductique.Kmprod.Km_Synthese_Moteur.C_SyntheseEvenement();
        Moteur_c.Initialiser(C_Interface_Meta.Mesbdd_p, C_Interface_Meta.IndexBdd_p);
        DtDebut_c = DateTime.Now.AddYears(-1);
        DtFin_c = DateTime.Now;
        return this;
    }


    public ParamSyntheseEvtViewModel Charger()
    {

        return this;
    }
    [HttpPost]
    public ActionResult Search(SearchSyntheseEvtViewModel search)
    {
        ParamSyntheseEvtViewModel myParams;


        myParams = search.paramSynthese;
        if (myParams != null)
        {