Ошибка при анализе данных от модели к частичному представлению ASP.NET MVC

#c# #asp.net #asp.net-mvc #asp.net-mvc-4

Вопрос:

В моем приложении в режиме РЕДАКТИРОВАНИЯ я хочу вызвать данные из базы данных и заполнить частичное представление, которое было отправлено в базу данных при создании запроса с использованием того же частичного представления . В настоящее время мой код я написал, как показано ниже. Но что происходит, если есть 4 записи, он создаст 4 строки, но там нет данных. Все приходит как пустое.

 lt;ul id="RequItms" style="list-style-type: none"gt;   @if (Model != null amp;amp; Model.GeneralItmsList != null)  {  foreach (var item in Model.GeneralItmsList)  {  Html.RenderAction("GeneralItmsPartialView", "AppRequests", Model.GeneralItmsList.ToList());  }  } lt;/ulgt;  

Вот такой вид. Это представление, которое я в настоящее время получаю из приведенного выше кода.

введите описание изображения здесь

Но именно так он должен загружаться в эти пустые поля.

введите описание изображения здесь

Я проверил Model.GeneralItemsList , что там отображаются данные, но я думаю, что при их разборе на частичное представление должна быть ошибка.

Вот как выглядит код частичного представления.

 @model Asp_PASMVC.Models.GeneralItms @using Asp_PASMVC.Infrastructure  lt;li style="padding-bottom:15px"gt;    @using (Html.BeginCollectionItem("GeneralItmsList"))  {  @Html.HiddenFor(model =gt; model.TempID)  lt;div class="form-horizontal" id="quickForm" novalidate="novalidate"gt;   @Html.ValidationSummary(true, "", new { @class = "text-danger" })  lt;div class="row"gt;  lt;div class="col-md-5 col-sm-6"gt;  lt;div class="form-group"gt;  Select Item Description  lt;div class="col-md-10"gt;  @Html.EditorFor(model =gt; model.Attachment_Description, new { htmlAttributes = new { @class = "form-control" } })  @Html.ValidationMessageFor(model =gt; model.Attachment_Description, "", new { @class = "text-danger" })   lt;/divgt;  lt;/divgt;  lt;/divgt;  lt;div class="col-md-3 col-sm-6"gt;  lt;div class="form-group"gt;  Attachment Amount  lt;div class="col-md-10"gt;  lt;div class="input-group-prepend"gt;  lt;span class="input-group-text"gt;Rs.lt;/spangt;   @Html.EditorFor(model =gt; model.Attachment_Amount, new { htmlAttributes = new { @class = "form-control" } })  lt;/divgt;  @Html.ValidationMessageFor(model =gt; model.Attachment_Amount, "", new { @class = "text-danger" })  lt;/divgt;  lt;/divgt;  lt;/divgt;   lt;div class="col-md-3 col-sm-6"gt;  lt;div class="form-group"gt;  Attachment  lt;div class="col-md-10"gt;  lt;input type="file" name="ImageData@(Model.TempID.ToString())" id="ImageData@(Model.TempID.ToString())" multiple="multiple" data-id="Img@(Model.TempID.ToString())" onchange="checkImage(this)" /gt;  @Html.ValidationMessageFor(model =gt; model.Attachment, "", new { @class = "text-danger" })  lt;/divgt;  lt;/divgt;  lt;img id="Img@(Model.TempID.ToString())" src="" alt="" width="100" height="100" class="ml-1" /gt;  lt;/divgt;  lt;button type="button" class="btn btn-danger" onclick="$(this).parent().remove();"gt;Removelt;/buttongt;  lt;/divgt;   lt;/divgt;     } lt;/ligt;  

Я надеюсь, что правильно объяснил этот вопрос. Спасибо за поддержку.

Комментарии:

1. Конечно, вы должны перейти item к RenderAction вызову? И для просмотра нужно просто взять один «общий пункт»?

2. Или удалите foreach цикл из родительского представления.

3. Кроме того, что такое Html.BeginCollectionItem ?

4. @DavidG Я попытался удалить foreach , но когда это происходит, он генерирует только 1 строку без данных. Html.BeginCollectionItem он использовался, когда в представлении «СОЗДАТЬ» я вставил кнопку. Поэтому, когда пользователь нажимает эту кнопку, затем загружает частичное представление. Это такой код « «

5. foreach (Asp_PASMVC.Models.GeneralItms Itms in Model.GeneralItmsList) { Html.RenderPartial("_GeneralItms", Itms); }