Нулевое значение в свойстве Model Class в MVC 3 - PullRequest
0 голосов
/ 07 января 2012

У меня есть вопрос. Мне нужно сохранить все значения моей модели. Класс

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);
            } 

Контроллер Http Post Method

 [HttpPost]
        public ActionResult AssessmentArea(Web.Models.AssessmentAreaContent assessmentAreaContent)
        {

            //assessmentAreaContent.ListSysAssessmentSubAreaCategory is null here ?? ; 
            return RedirectToAction("AssessmentArea", "AssessmentArea");
        }

View

@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; Я использую Entity Framework с MVC 3 Как я могу сделать это, пожалуйста?

Спасибо

Ответы [ 2 ]

1 голос
/ 07 января 2012

сделать шаблон редактора с именем SysAssessmentSubAreaCategory. обратите внимание, что имя шаблона совпадает с типом объектов списка. в этом шаблоне напишите что-то вроде

@model Web.Models.SysAssessmentSubAreaCategory
<strong>@Html.EditorFor(item => category.AreaCategoryName)</strong>  
                <br />

на главном экране просто внесите эти изменения

if (Model != null)
                        {
       Html.EditorFor(x=>x.ListSysAssessmentSubAreaCategory)
       }

оставьте остальные без изменений. заполните форму и опубликуйте ее, и у вас будут значения в контроллере.

0 голосов
/ 07 января 2012

Нет входных удерживающих значений для ListSysAssessmentSubAreaCategory, так что в обратной записи вы заполнили это свойство.

Вам нужно, чтобы эти значения были сохранены на стороне сервера (например, в сеансе) или были представлены в форме ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...