【发布时间】:2014-09-08 10:25:11
【问题描述】:
大家好,我在发帖时遇到问题,我的模型在 http 帖子上似乎为空,这很奇怪,在 get 方法期间没有问题,一切都按应有的方式填充,但在帖子模型期间为空。请帮忙。
查看
@model ComplianceCheck.Models.ViewModel.ArrivalModel
@for (int itemindex = 0, id = itemindex + 1; itemindex < Model.questionnaires.Count; itemindex++)
{
<tr>
<td>
@id
</td>
<td>
@Html.DisplayFor(modelItem => Model.questionnaires[itemindex].Description)
</td>
<td>
YES
@Html.RadioButtonFor(modelItem => Model.questionnaires[itemindex].Answer, true, new { id = "rbYes", @checked = "checked" })
NO
@Html.RadioButtonFor(modelItem => Model.questionnaires[itemindex].Answer, false, new { id = "rbNo" })
</td>
<td>
@Html.DisplayFor(modelItem => Model.questionnaires[itemindex].WigsID)
</td>
<td>
@Html.TextBoxFor(modelItem => Model.questionnaires[itemindex].Remarks, new { @style = "width:250px;" })
</td>
</tr>
型号
public class ArrivalModel
{
public ArrivalSearchModel searchModel = new ArrivalSearchModel();
public List<ArrivalDataModel> data = new List<ArrivalDataModel>();
public ArrivalSingleDataModel singledata = new ArrivalSingleDataModel();
public List<ArrivalQuestionnaires> questionnaires = new List<ArrivalQuestionnaires>();
}
public class ArrivalQuestionnaires
{
public int QuestionID { get; set; }
public string WigsID { get; set; }
public string Area { get; set; }
public string Description { get; set; }
public bool Answer { get; set; }
public string Remarks { get; set; }
}
控制器:删除一些代码以减少问题长度
//Get 工作正常..
GET: /Questionnaires/ (Create)
public ActionResult QuestionnairesList(string txtDate, string Flightno, string Checker)
{
ArrivalModel model = new ArrivalModel();
List<ArrivalQuestionnaires> arrivalQuestionnaires = new List<ArrivalQuestionnaires>();
foreach (Question questionnaires in ArrivalService.GetAllQuestionnaires("Arrival"))
{
ArrivalQuestionnaires toAdd = new ArrivalQuestionnaires
{
QuestionID = questionnaires.QuestionID,
WigsID = questionnaires.Wig.WigsCode,
Area = questionnaires.Area,
Description = questionnaires.Description,
};
arrivalQuestionnaires.Add(toAdd);
}
model.questionnaires = arrivalQuestionnaires;
}
return View(model);
}
}
问题出在这里,httppost 触发但模型为空
[HttpPost]
public ActionResult QuestionnairesList(ArrivalModel model)
{}
【问题讨论】:
-
你的页面上有
<form>标签吗?您能否使用任何浏览器开发工具检查发送回控制器的 POST 请求的内容是什么? -
ArrivalModel(ArrivalSearchModel、ArrivalDataModel、ArrivalSingleDataModel)的任何其他属性是否具有名为model的属性? -
您的属性上没有 getter/setter - 您是否省略了一些代码?
标签: asp.net-mvc http-post