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