我有一个问题。我需要保存模型的所有值。 类
public class AssessmentAreaContent
{
//SysAssessmentSubAreaCategory is enity model class
public List<SysAssessmentSubAreaCategory> ListSysAssessmentSubAreaCategory;
}
控制器
public ActionResult AssessmentArea(int id)
{
var model = new AssessmentAreaContent();
model.ListSysAssessmentSubAreaCategory = db.SysAssessmentSubAreaCategory.Where(c => c.AssessmentAreaId == id).ToList();
return View(model);
}
Controller Http Post Method
[HttpPost]
public ActionResult AssessmentArea(Web.Models.AssessmentAreaContent assessmentAreaContent)
{
//assessmentAreaContent.ListSysAssessmentSubAreaCategory is null here ?? ;
return RedirectToAction("AssessmentArea", "AssessmentArea");
}
查看
@model Web.Models.AssessmentAreaContent
@{
ViewBag.Title = "Area";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm())
{
@{
if (Model != null)
{
foreach (var category in Model.ListSysAssessmentSubAreaCategory)
{
<strong>@Html.EditorFor(item => category.AreaCategoryName)</strong>
<br />
}
}
}
<input type="submit" name="button" class="btn" value="Save" />
}
我在assessmentAreaContent.ListSysAssessmentSubAreaCategory;
中获得空值
我使用实体框架与MVC 3
我该怎么办?
由于
答案 0 :(得分:1)
制作名称为SysAssessmentSubAreaCategory
的编辑器模板。请注意,模板名称与列表对象的类型相同。在这个模板中写下像
@model Web.Models.SysAssessmentSubAreaCategory
<strong>@Html.EditorFor(item => category.AreaCategoryName)</strong>
<br />
主视图中的只需进行这些更改
if (Model != null)
{
Html.EditorFor(x=>x.ListSysAssessmentSubAreaCategory)
}
保持其余不变。填写表格并张贴,你将在控制器中有值。
答案 1 :(得分:0)
ListSysAssessmentSubAreaCategory
没有输入保留值,因此在回发后你可以填充该属性。
您需要将这些值保存在服务器端(例如在会话中)或以输入形式表示。