1,index
@{
ViewBag.Title = "Index";
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<style type="text/css">
#tblist
{
border: 1px solid #0094ff;
width: 600px;
margin: 10px auto;
border-collapse: collapse;
}
#tblist th, td
{
border: 1px solid #0094ff;
padding: 10px;
}
</style>
</head>
<body>
<table id="tblist">
<tr>
<th>id</th>
<th>姓名</th>
<th>状态</th>
<th>编辑</th>
</tr>
<!--变量action方法 设置viewData的集合数据生成html-->
@foreach (test.Models.tb_name item in ViewData["DataList"] as List<test.Models.tb_name>)
{
<tr>
<td>@item.Id</td>
<td>@item.uName</td>
<td>@item.uMark</td>
<td>
@Html.ActionLink("删除", "Del", new { id = item.Id })
@Html.ActionLink("修改", "Update", new { id = item.Id })
@Html.ActionLink("添加", "Add")
</tr>
}
</table>
</body>
</html>
2,添加视图
@model test.Models.tb_name
@{
ViewBag.Title = "Add";
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Add</title>
<style type="text/css">
#tblist
{
border: 1px solid #0094ff;
width: 600px;
margin: 10px auto;
border-collapse: collapse;
}
#tblist th, td
{
border: 1px solid #0094ff;
padding: 10px;
}
</style>
</head>
<body>
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Student</legend>
<div class="editor-label">
@Html.LabelFor(model => model.uName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.uName)
@Html.ValidationMessageFor(model => model.uName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.uMark)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.uMark)
@Html.ValidationMessageFor(model => model.uMark)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
</body>
</html>
3,修改视图
@model test.Models.tb_name
@{
ViewBag.Title = "Update";
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Modify</title>
<style type="text/css">
#tblist
{
border: 1px solid #0094ff;
width: 600px;
margin: 10px auto;
border-collapse: collapse;
}
#tblist th, td
{
border: 1px solid #0094ff;
padding: 10px;
}
</style>
</head>
<body>
@using (Html.BeginForm("Update", "Index", FormMethod.Post))
{
<table id="tblist">
<tr>
<td colspan="2">修改:@Html.HiddenFor(a => a.Id)</td>
</tr>
<tr>
<td>课程名称</td>
<!--使用HtmlHepler,直接从model获取数据赋值给下拉框-->
<td>@Html.DropDownListFor(a => a.Id, ViewBag.classList as IEnumerable<SelectListItem>)</td>
</tr>
<tr>
<td>学生姓名</td>
<!--使用HtmlHepler,直接从model获取数据赋值给文本框-->
<td>@Html.TextBoxFor(a => a.uName)</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="确定修改">@Html.ActionLink("返回", "Index", "Index")</td>
</tr>
</table>
}
</body>
</html>
4,控制器
public class IndexController : Controller
{
testEntities db = new testEntities();
//
// GET: /Index/
public ActionResult Index()
{
testEntities db = new testEntities();
List<Models.tb_name> list = (from d in db.tb_name select d).ToList();
ViewData["DataList"] = list;
return View();
}
/// 根据学生ID删除学生
/// </summary>
/// <param name="id">学生ID</param>
/// <returns></returns>
[HttpGet]
public ActionResult Del(string id)
{
testEntities db = new testEntities();
int ids = Convert.ToInt32(id);
tb_name modelDel = new tb_name() { Id = ids };
db.tb_name.Attach(modelDel);
db.Entry<tb_name>(modelDel).State = System.Data.EntityState.Deleted;
db.SaveChanges();
return RedirectToAction("Index", "Index");
}
/// <summary>
/// 根据学生编号修改学生
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public ActionResult Update(string id)
{
int ids = Convert.ToInt32(id);
tb_name ts = (from a in db.tb_name where a.Id == ids select a).FirstOrDefault();
IEnumerable<SelectListItem> listItem = (from c in db.tb_name select c).ToList().Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.uName });
ViewBag.classList = listItem;
return View(ts);
}
[HttpPost]
/// <summary>
/// 保存要修改的数据
/// </summary>
/// <param name="id">要修改的学生ID</param>
/// <returns></returns>
public ActionResult Update(tb_name ts)
{
DbEntityEntry<tb_name> entry = db.Entry<tb_name>(ts);
entry.State = System.Data.EntityState.Unchanged;
entry.Property(a => a.uName).IsModified = true;
entry.Property(a => a.Id).IsModified = true;
db.SaveChanges();
return RedirectToAction("Index", "Index");
}
public ActionResult Add()
{
return View("Add");
}
/// <summary>
/// 添加
/// </summary>
/// <returns></returns>
[HttpPost]
public ActionResult Add(tb_name student)
{
try
{
if (ModelState.IsValid)
{
EntityState statebefore = db.Entry(student).State; //Detached
db.tb_name.Add(student);
EntityState stateAdd = db.Entry(student).State; //Added
db.SaveChanges();
EntityState stateafter = db.Entry(student).State;//Unchanged
return RedirectToAction("Index");
}
}
catch
{
ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
}
return View(student);
}
}