edit.cshtml在mvc5剃须刀中返回错误HTTP 404

时间:2019-05-31 01:22:18

标签: c# razor asp.net-mvc-5

我想将“编辑” Actionlink从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”的数据表中,但是所有这些属性都将显示在编辑页面中。我怎样才能做到这一点?任何人的任何帮助都将不胜感激。

0 个答案:

没有答案