Member 14713380 Ответов: 1

Передача данных из базы данных контроллером в представление ASP.NET


Описание:

- Я получаю информацию из базы данных с помощью EF
var card= _ecpContext.Card.Where(sth).ToList();


- это дает мне информацию в формате списка < gt;

> количество карт = 31

> [0] {App.Models.Карта}

> [1] {App.Models.Карта}

> [2] {App.Models.Карта}



- Я хочу передать эти данные с контроллера на просмотр

- Я пытаюсь сделать это вот так:

Контроллер:
[HttpPost]
public async Task<ActionResult> MethodsReturnView(string previously_uploaded_data_from_ajax)
{
     // al code 
     return PartialView("_ReturnView", karta);
}


Проблема:

- но он выдает мне ошибку, если добавляет "карту" рядом с возвращенным видом

> не удалось загрузить ресурс: сервер ответил со статусом 500 (Внутренняя ошибка сервера)

- ошибка возникает при вызове команды return (исследовано, красная точка)

- без отправки этих данных представление возвращается в обычном режиме

Дополнительно:


Моя модель:
public partial class Karta_Model
{
    [Key]
    public int Id { get; set; }
    public int? NrDay{ get; set; }
    public int? NrMonth { get; set; }
    public int? NrYear{ get; set; }
    public string? Rozpoczecie { get; set; } 
    public string? Zakonczenie{ get; set; } 
    public string? OdbiorGodzin{ get; set; } 
    ...
}

public partial class ParentView
{
    public List<Karta_Model> Model1 { get; set; }
}



Смотреть:
using AppEcp.Models
@model ParentView

 @for (int nr_rows = 0; nr_rows < @ViewBag.daysInMonth; nr_rows++)
{
  <tr>
        <td>@Html.TextBoxFor(m => m.Model1[nr_rows].Rozpoczecie, new { @class = "start", @type = "time" })</td>
        <td>@Html.TextBoxFor(m => m.Model1[nr_rows].Zakonczenie, new { @class = "end", @type = "time" })</td>
        <td>@Html.TextBoxFor(m => m.Model1[nr_rows].OdbiorGodzin, new { @class = "gethours", @type = "time" })</td>
  </tr>
}


Что я уже пробовал:

Вопросы:

- Есть ли другой способ отправить эти данные из контроллера в представление?

- Что я здесь делаю не так?

1 Ответов

Рейтинг:
2

as.if.i.code

Когда вы вызываете ниже оператор return, 2-й параметр должен иметь тип ParentView, потому что тип модели вашего представления-это ParentView.

return PartialView("_ReturnView", karta);

Создайте новый объект типа ParentView использование содержимого переменной карта, а затем передайте его на просмотр.