Asp. net core MVC обновление модели в представлении - PullRequest
0 голосов
/ 06 мая 2020

У меня есть модель "model":

public class model
    {
        /// Tady přidat všechny kolonky v db a jejich vlastnosti pomocí [VLASTNOST]
        [Key]
        public int Id { get; set; }
        public string Data1 { get; set; }
        public string Data2 { get; set; }
        public string Data3 { get; set; }
        public string Data4 { get; set; }
   }

Затем мой контроллер:

[HttpGet]
        public async Task<IActionResult> View(int? id)
        {
            ViewData["Reklamace"] = await _db.model.ToListAsync();
            ViewBag.Id = id ?? 1;
            return View();
        }

Затем мой View:

 IEnumerable<model> ReklamaceModel = ViewData["model"] as IEnumerable<model>;
    int Pozice = (int)ViewBag.Id;
    int previous = 1;
    if (Pozice != 1)
    {
        previous = Pozice - 1;
    }
    int next = Pozice + 1;
    int last = ReklamaceModel.Count();
    int first = 1;
    if (next > last)
    {
        next = Pozice;
    }
    if (first > Pozice)
    {
        Pozice = first;
    }
    int IdPozice = 0;
    try
    {
        IdPozice = ReklamaceModel.ElementAt(Pozice).Id;
    }
    catch
    {
        IdPozice = ReklamaceModel.ElementAt(Pozice - 1).Id;
    }
   var MainModel = ReklamaceModel.Where(s => s.Id == IdPozice).First();

Затем мне нужно используйте эту «MainModel» как источник данных в @Html.TextBoxFor(). Я попытался выполнить эти расчеты и моделировать манипуляции в бэкэнде, но мне нужна скорость загрузки, и когда я делаю это в бэкэнде, моя сеть становится в 3 раза медленнее. Итак, я пришел к выводу, что мне нужно как-то установить в View my @model нулевую модель, а затем обновить ее значение. Некоторые идеи как это сделать ?? Я пробовал @Html.TextBoxFor(m => m.Data1, new { @Value = "3" }) Зачем мне это ?: Потому что я пытаюсь вставить данные и обнаружил, что @Html.TextBoxFor как-то лучше для этого (с использованием Entity Framework)

1 Ответ

0 голосов
/ 06 мая 2020

Почему отправляются все данные? Запрос предназначен для указания c id. Попробуйте это в контроллере:

ViewData["Reklamace"] = await _db.model.Find(id);

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