当我尝试创建一个新项目时,它返回一个带有链接
的索引操作
/培训/创建。我知道编辑,删除和详细信息正常工作 - 并且项目中的任何创建操作都会出现同样的问题。
我无法理解这里发生了什么。
控制器:
public class TrainingController : Controller
{
private CouncilDb db = new CouncilDb();
public ActionResult Top3Training()
{
var model = db.Training.ToList().Take(3);
return PartialView(model);
}
public ActionResult Index()
{
return View(db.Training.ToList());
}
public ActionResult Details(int id = 0)
{
Training training = db.Training.Find(id);
if (training == null)
{
return HttpNotFound();
}
return View(training);
}
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(Training training)
{
if (ModelState.IsValid)
{
db.Training.Add(training);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(training);
}
public ActionResult Edit(int id = 0)
{
Training training = db.Training.Find(id);
if (training == null)
{
return HttpNotFound();
}
return View(training);
}
[HttpPost]
public ActionResult Edit(Training training)
{
if (ModelState.IsValid)
{
db.Entry(training).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(training);
}
public ActionResult Delete(int id = 0)
{
Training training = db.Training.Find(id);
if (training == null)
{
return HttpNotFound();
}
return View(training);
}
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
Training training = db.Training.Find(id);
db.Training.Remove(training);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
创建视图:
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_NoSideBar.cshtml";
}
<h2>Create</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Training</legend>
<div class="editor-label">
@Html.LabelFor(model => model.title)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.title)
@Html.ValidationMessageFor(model => model.title)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Desc)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Desc)
@Html.ValidationMessageFor(model => model.Desc)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.imagePath)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.imagePath)
@Html.ValidationMessageFor(model => model.imagePath)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.trainer)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.trainer)
@Html.ValidationMessageFor(model => model.trainer)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.cost)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.cost)
@Html.ValidationMessageFor(model => model.cost)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.place)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.place)
@Html.ValidationMessageFor(model => model.place)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Target_participant)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Target_participant)
@Html.ValidationMessageFor(model => model.Target_participant)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.organizer)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.organizer)
@Html.ValidationMessageFor(model => model.organizer)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.website)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.website)
@Html.ValidationMessageFor(model => model.website)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Tel)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Tel)
@Html.ValidationMessageFor(model => model.Tel)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
型号:
public class Training
{
public int id { get; set; }
public string title { get; set; }
public string Desc { get; set; }
public string imagePath { get; set; }
public string trainer { get; set; }
public int cost { get; set; }
public string place { get; set; }
public string Target_participant { get; set; }
public string organizer { get; set; }
public string website { get; set; }
public int Tel { get; set; }
}