大家好我是asp mvc的新手 我的问题是我创建了模型
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace MyDemo.Models
{
public class Teachers
{
public int ID { get; set; }
[Required]
public string NAME { get; set; }
[Required]
public string LASTNAME { get; set; }
}
}
然后基于这个模型创建控制器,使用为我创建的脚手架
u
sing System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using MyDemo.Models;
namespace MyDemo.Controllers
{
public class TeachersController : Controller
{
private MyDemoContext db = new MyDemoContext();
// GET: Teachers
public ActionResult Index()
{
return View(db.Teachers.ToList());
}
// GET: Teachers/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Teachers teachers = db.Teachers.Find(id);
if (teachers == null)
{
return HttpNotFound();
}
return View(teachers);
}
// GET: Teachers/Create
public ActionResult Create()
{
return View();
}
// POST: Teachers/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID,NAME,LASTNAME")] Teachers teachers)
{
if (ModelState.IsValid)
{
db.Teachers.Add(teachers);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(teachers);
}
// GET: Teachers/Edit/5
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Teachers teachers = db.Teachers.Find(id);
if (teachers == null)
{
return HttpNotFound();
}
return View(teachers);
}
// POST: Teachers/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "ID,NAME,LASTNAME")] Teachers teachers)
{
if (ModelState.IsValid)
{
db.Entry(teachers).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(teachers);
}
// GET: Teachers/Delete/5
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Teachers teachers = db.Teachers.Find(id);
if (teachers == null)
{
return HttpNotFound();
}
return View(teachers);
}
// POST: Teachers/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Teachers teachers = db.Teachers.Find(id);
db.Teachers.Remove(teachers);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}
然后使用该控制器创建视图(索引,创建,删除,插入) 问题是当我导航到localhost / Teachers / Index时。页面永远加载,没有任何显示。当手动创建另一个模型的另一个控制器时,它工作正常。问题在哪里???
答案 0 :(得分:0)
我想检查你的连接字符串。您可以将断点放在TeachersController的索引操作方法中,并查看您是否获得了教师列表。最有可能的错误是与数据库的连接。您可以尝试更改
return View(db.Teachers.ToList()); to just return View();
并且在视图上只写简单的html。