我很困惑,真的很想得到一些帮助。我是第一个计时器,所以请你耐心等待我。所以这里。 我试图使用Ajax Begin Form将模型发布到控制器。但是我总是在控制器上得到null。 这个视图
<div class="col-md-6" id="secondColumn">
<div id="OtherData">
@Html.Partial("BindOthLangData", Model.VodCombinedData[2])
</div>
</div>
部分视图BindOthLangData
@model Domain.Model.Combinedmodel
@using (Ajax.BeginForm("selectAction", "ControllerName", new AjaxOptions { LoadingElementId = "loaderdiv" }))
{
for (var i = 0; i < Model.ContentDataLst.Count; i++)
{
<div class="col-md-12">
<div class="section">
@Html.HiddenFor(x => x.ContentDataLst[i].OperatorFiledName)
@Html.HiddenFor(x => x.ContentDataLst[i].AttributeID)
@Html.HiddenFor(x => x.ContentDataLst[i].Srid)
@Html.HiddenFor(x => x.ContentDataLst[i].Value)
@Html.LabelFor(x => x.ContentDataLst[i], Model.ContentDataLst[i].OperatorFiledName, new { @class = "field-label text-left" })
<label class="field">
@Html.EditorFor(x => x.ContentDataLst[i], Model.ContentDataLst[i].HtmlType)
</label>
</div>
</div>
}
}
<div class="col-md-12 mt15 text-right" id="reject">
<button id="scms" class="btn btn-sm btn-danger" type="submit" name="submitButton" value="Save">Save CMS Metadata </button>
</div>
}
这是行动
[HttpPost]
public JsonResult selectAction(String submitButton,Combinedmodel objData)
{
String status = String.Empty;
try
{
status = saveData(objData);
}
catch(Exception ex)
{
status = "Error Occurred";
}
return Json(status, JsonRequestBehavior.AllowGet);
}
这是我的模特
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;}
}
我不知道我做错了什么..请帮忙。调用Action,但发布到控制器的模型为null。
答案 0 :(得分:-1)
根据for循环,您要发布List<Data>
,而不是Combinedmodel
。
将您的操作方法参数更新为:
public JsonResult selectAction(String submitButton, List<Data> contentDataLst)