edit.cshtml возвращая ошибку HTTP 404 в бритве mvc5 - PullRequest
0 голосов
/ 31 мая 2019

Я хотел перенаправить ссылку «Редактировать» на другую страницу со страницы Index.cshtml, и в указаниях на вкладке отображается «http://localhost:49712/Home/Edit/id".. Данные отображаются в виде« Index.cshtml »в таблице, но не во всех».данные отображаются (только некоторые из них). Затем, когда я хочу отредактировать данные, на странице редактирования отображается сообщение «Ошибка HTTP 404.0 - не найдено». Я думаю, это из-за атрибутов, получивших конфликт или что-то еще?

Это "Index.cshtml" для таблицы: -

foreach (var item in Model)
        {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.ID)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.NUMBER)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.TITLE)
            </td>

            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.ID}) |
                @Html.ActionLink("Details", "Details", new { id = item.ID}) |
                @Html.ActionLink("Delete", "Delete", new { id = item.ID})
            </td>
        </tr>
        }

Это часть редактирования в контроллере ": -

// GET: Home/Edit/5
        public async Task<ActionResult> Edit(string id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Tests test= await db.Test.FindAsync(id);
            if (test== null)
            {
                return HttpNotFound();
            }
            return View(test);
        }

        // POST: Home/Edit/5

        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> Edit([Bind(Include = "ID,YEAR,LANGUAGE,COUNTRY,SUBJECT,NUMBER,TITLE] Tests test)
        {
            if (ModelState.IsValid)
            {
                db.Entry(test).State = EntityState.Modified;
                await db.SaveChangesAsync();
                return RedirectToAction("Index");
            }
            return View(test);
        }

Это моя модель: -

    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;

    public partial class Tests
    {
        public string ID{ get; set; }
        public Nullable<int> YEAR { get; set; }
        public string LANGUAGE { get; set; }
        public string COUNTRY { get; set; }
        public string SUBJECT { get; set; }
        public string NUMBER { get; set; }
        public string TITLE { get; set; }
     }
}

Как видите, некоторые атрибуты не отображаются в таблице данных в «Index.cshtml», но все они будут отображаться на странице редактирования.Как я могу это сделать?Буду очень признателен за любую помощь.

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