Asp.net 使用Ajax.begin通知ViewModel post为空
我的ajax表单有问题: 我有这个密码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 {
@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)
{