您的位置:首页 > 其它

学习MVC第一个增删修功能的本记

2012-02-02 22:03 381 查看
1:首先是Model层(Model不仅仅是实体层,还有普通的三层BLL,DAL代码都写在这里的! public class BLLStuedent{}):

using System.ComponentModel.DataAnnotations; //这个是验证的空间类;四种不同的;

namespace MvcLogin.Models
{
public class Student
{
[Required(ErrorMessage = "ID不能为空")]
public int Id { get; set; }

[Required(ErrorMessage = "姓名不能为空")]
public string Name { get; set; }

[RegularExpression("^[\u7537\u5973]+$", ErrorMessage = "性别只能输入“男”或者“女”")]
public string Sex { get; set; }

[Range(1, 120, ErrorMessage = "年龄必须在1-120之间")]
public int Age { get; set; }
}
}

2:控制器的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcLogin.Models;

namespace MvcLogin.Controllers
{

public class StudentController : Controller
{
static List<Student> students = new List<Student>();
//
// GET: /Student/

public ActionResult Index()
{
return View(students);
}

//
// GET: /Student/Details/5

public ActionResult Details(Student s)
{
return View(s);
}

//
// GET: /Student/Create

public ActionResult Create()
{
return View();
}

//
// POST: /Student/Create

[HttpPost]
public ActionResult Create(Student s)
{
try
{
// TODO: Add insert logic here
if (!ModelState.IsValid)
{
return View("Create", s);
}
students.Add(s);
return RedirectToAction("Index");
}
catch
{
return View();
}
}

//
// GET: /Student/Edit/5

public ActionResult Edit(int id)
{
Student s = new Student();
foreach (Student stu in students)
{
if (stu.Id == id)
{
s.Id = stu.Id;
s.Name = stu.Name;
s.Sex = stu.Sex;
s.Age = stu.Age;
}
}
return View(s);
}

//
// POST: /Student/Edit/5

[HttpPost]
public ActionResult Edit(Student s)
{
try
{
// TODO: Add update logic here
if (!ModelState.IsValid)
{
return View("Edit", s);
}
foreach (Student stu in students)
{
if (stu.Id == s.Id)
{
stu.Id = s.Id;
stu.Name = s.Name;
stu.Sex = s.Sex;
stu.Age = s.Age;
}
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}

//
// GET: /Student/Delete/5

public ActionResult Delete(int id)
{
Student s = new Student();
foreach(Student stu in students)
{
if (stu.Id == id)
{
s.Id = stu.Id;
s.Name = stu.Name;
s.Sex = stu.Sex;
s.Age = stu.Age;
}
}
return View(s);
}

//
// POST: /Student/Delete/5

[HttpPost]
public ActionResult Delete(Student s)
{
try
{
// TODO: Add delete logic here
foreach (Student stu in students)
{
if (stu.Id == s.Id)
{
students.Remove(stu);
break;
}
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
}
}

3:视图的代码:

列表页的代码:

<table>
<tr>
<th></th>
<th>
Id
</th>
<th>
Name
</th>
<th>
Sex
</th>
<th>
Age
</th>
</tr>

<% foreach (var item in Model) { %>

<tr>
<td>
<%: Html.ActionLink("Edit", "Edit", new { id=item.Id }) %> |
<%: Html.ActionLink("Details", "Details", item)%> | //这边要特别注意的
<%: Html.ActionLink("Delete", "Delete", new { id=item.Id })%>
</td>
<td>
<%: item.Id %>
</td>
<td>
<%: item.Name %>
</td>
<td>
<%: item.Sex %>
</td>
<td>
<%: item.Age %>
</td>
</tr>

<% } %>

</table>

<p>
<%: Html.ActionLink("Create New", "Create") %>
</p>

<br />

增加的代码:

<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>

<fieldset>
<legend>Fields</legend>

<div class="editor-label">
<%: Html.LabelFor(model => model.Id) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Id) %>
<%: Html.ValidationMessageFor(model => model.Id) %>
</div>

<div class="editor-label">
<%: Html.LabelFor(model => model.Name) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Name) %>
<%: Html.ValidationMessageFor(model => model.Name) %>
</div>

<div class="editor-label">
<%: Html.LabelFor(model => model.Sex) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Sex) %>
<%: Html.ValidationMessageFor(model => model.Sex) %>
</div>

<div class="editor-label">
<%: Html.LabelFor(model => model.Age) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Age) %>
<%: Html.ValidationMessageFor(model => model.Age) %>
</div>

<p>
<input type="submit" value="Create" />
</p>
</fieldset>

<% } %>

<div>
<%: Html.ActionLink("Back to List", "Index") %>
</div>

编辑的代码:

<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>

<fieldset>
<legend>Fields</legend>

<div class="editor-label">
<%: Html.LabelFor(model => model.Name) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Name) %>
<%: Html.ValidationMessageFor(model => model.Name) %>
</div>

<div class="editor-label">
<%: Html.LabelFor(model => model.Sex) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Sex) %>
<%: Html.ValidationMessageFor(model => model.Sex) %>
</div>

<div class="editor-label">
<%: Html.LabelFor(model => model.Age) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Age) %>
<%: Html.ValidationMessageFor(model => model.Age) %>
</div>

<p>
<input type="submit" value="Save" />
</p>
</fieldset>

<% } %>

<div>
<%: Html.ActionLink("Back to List", "Index") %>
</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: