登录:
写入配置文件:
<authentication mode="Forms">
<forms loginUrl="~/Home/Login" timeout="3000"></forms>
</authentication>
在UserInfo表中写入验证;
前端页面:
最上面引入:@model AspNetMVC.Models.UserInfo
AspNetMVC:项目名称,UserInfo 数据库表名
<body>
<div style="text-align:center">
@using (Html.BeginForm())
{
<table cellspacing="0" align="center">
<tr>
<td>用户名:</td>
<td>@Html.TextBoxFor(u => u.LogName)</td>
<td style="color:red">@Html.ValidationMessageFor(u => u.LogName)</td>
</tr>
<tr>
<td>密码:</td>
<td>@Html.TextBoxFor(u => u.LogPwd)</td>
<td style="color:red">@Html.ValidationMessageFor(u => u.LogPwd)</td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="name" value="登录" /></td>
</tr>
<tr>
<td colspan="2">@Html.ValidationSummary(true)</td>
</tr>
</table>
}
</div>
</body>
Home控制器中:
public class HomeController : Controller
{
MVCLession31Entities db = new MVCLession31Entities();
// GET: Home
//登录
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(Login u)
{
if (ModelState.IsValid && varLogin(u.LogName,u.LogPwd))
{
return RedirectToAction("Index");
}
else
{
ModelState.AddModelError("","账号或密码错误");
}
return View();
}
private bool varLogin(string logName, string logPwd)
{
var u = (from p in db.Login where p.LogName == logName && p.LogPwd == logPwd select p).FirstOrDefault();
if (u==null)
{
return false;
}
else
{
FormsAuthentication.SetAuthCookie("logName",false);
return true;
}
}
添加Home控制器:
在引用MVCLession31Entities字段。
查询:
public class HomeController : Controller
{
MVCLession31Entities db = new MVCLession31Entities();
// GET: Home
public ActionResult Index()
{
//查询员工列表
ViewBag.EmpList= db.Employee;
return View();
}
在Index上右键添加视图到Index页面;
<body>
<h1 style="text-align:center">员工列表</h1>
<h3 style="text-align:center"><a href="~/Home/AddEmpForm">添加员工</a></h3>
<table border="1" width="800" cellspacing="0" align="center">
<tr>
<th>员工编号</th>
<th>部门编号</th>
<th>员工姓名</th>
<th>员工电话</th>
<th>员工区域</th>
<th>员工薪资</th>
<th>操作</th>
</tr>
@foreach (var item in ViewBag.EmpList)
{
<tr>
<td>@item.EmpId</td>
<td>@item.DeptId</td>
<td>@item.EmpName</td>
<td>@item.EmpPhone</td>
<td>@item.EmpArea</td>
<td>@item.EmpSalary</td>
<td><a href="EditEmpForm?EmpId=@item.EmpId">编辑</a> <a href="DeleteEmp?EmpId=@item.EmpId" onclick="return confirm('确定删除吗?')">删除</a></td>
</tr>
}
</table>
</body>
查询运行结果
联合查询:
public ActionResult Index()
{
//ViewBag.EmpList = db.Employee;
//联合查询
ViewBag.EmpList = from e in db.Employee
join d in db.Dept on e.DeptId equals d.DeptId
select new EmployeeViewModel
{
EmpId = e.EmpId,
DeptName = d.DeptName,
EmpName = e.EmpName,
EmpPhone = e.EmpPhone,
EmpArea = e.EmpArea,
EmpSalary = e.EmpSalary
};
return View();
}
模糊查询:
public class HomeController : Controller
{
MVCLession31Entities db = new MVCLession31Entities();
// GET: Home
public ActionResult Index()
{
//联合查询
ViewBag.EmpList = from e in db.Employee
join d in db.Dept on e.DeptId equals d.DeptId
select new EmployeeViewModel
{
EmpId = e.EmpId,
DeptName = d.DeptName,
EmpName = e.EmpName,
EmpPhone = e.EmpPhone,
EmpArea = e.EmpArea,
EmpSalary = e.EmpSalary
};
ViewBag.DeptList = db.Dept;
return View();
}
[HttpPost]
public ActionResult Index(string EmpName,int DeptId)
{
if (EmpName != "" && DeptId != 0)
{
//联合查询
ViewBag.EmpList = from e in db.Employee
join d in db.Dept on e.DeptId equals d.DeptId
where e.EmpName.Contains(EmpName)
where e.DeptId == DeptId
select new EmployeeViewModel
{
EmpId = e.EmpId,
DeptName = d.DeptName,
EmpName = e.EmpName,
EmpPhone = e.EmpPhone,
EmpArea = e.EmpArea,
EmpSalary = e.EmpSalary
};
}
else if (EmpName != "" && DeptId == 0)
{
//联合查询
ViewBag.EmpList = from e in db.Employee
join d in db.Dept on e.DeptId equals d.DeptId
where e.EmpName.Contains(EmpName)
select new EmployeeViewModel
{
EmpId = e.EmpId,
DeptName = d.DeptName,
EmpName = e.EmpName,
EmpPhone = e.EmpPhone,
EmpArea = e.EmpArea,
EmpSalary = e.EmpSalary
};
}
else if (EmpName == "" && DeptId != 0)
{
//联合查询
ViewBag.EmpList = from e in db.Employee
join d in db.Dept on e.DeptId equals d.DeptId
where e.DeptId == DeptId
select new EmployeeViewModel
{
EmpId = e.EmpId,
DeptName = d.DeptName,
EmpName = e.EmpName,
EmpPhone = e.EmpPhone,
EmpArea = e.EmpArea,
EmpSalary = e.EmpSalary
};
}
else
{
//联合查询
ViewBag.EmpList = from e in db.Employee
join d in db.Dept on e.DeptId equals d.DeptId
select new EmployeeViewModel
{
EmpId = e.EmpId,
DeptName = d.DeptName,
EmpName = e.EmpName,
EmpPhone = e.EmpPhone,
EmpArea = e.EmpArea,
EmpSalary = e.EmpSalary
};
}
ViewBag.EmpName = EmpName;
ViewBag.DeptId = DeptId;
ViewBag.DeptList = db.Dept;
return View();
}
Index查询页面添加员工姓名,部门名称及搜索按钮:
<h1>员工信息列表</h1>
<form action="/Home/Index" method="post">
员工姓名: <input type="text" name="EmpName" value="@ViewBag.EmpName" />
部门名称: <select name="DeptId">
<option value="0">--请选择--</option>
@foreach (var item in ViewBag.DeptList)
{
<option value="@item.DeptId" @(ViewBag.DeptId==item.DeptId?"selected":"")>@item.DeptName</option>
}
</select>
<input type="submit" value="查询" />
</form>
<a href="/Home/AddEmpForm">添加员工</a>
添加:
//添加员工页面
public ActionResult AddEmpForm()
{
//查询部门列表
ViewBag.DeptList = db.Dept;
return View();
}
//添加员工
public ActionResult AddEmp()
{
Employee emp = new Employee()
{
DeptId = int.Parse(Request["DeptId"]),
EmpName = Request["txtName"],
EmpPhone =Request["txtPhone"],
EmpArea = Request["txtArea"],
EmpSalary =decimal.Parse(Request["txtSalary"])
};
db.Employee.Add(emp);
int count = db.SaveChanges();
if (count>0)
{
return Content("<script>alert('添加成功');window.location.href='Index'</script>");
}
else
{
return Content("<script>alert('添加失败');window.location.href='AddEmpForm'</script>");
}
}
在AddEmpForm上右键添加视图:
<body>
<form action="~/Home/AddEmp" method="post">
<div style="text-align:center">
<table width="500" align="center" border="1" cellspacing="0">
<tr>
<td colspan="2"><h3>添加员工</h3></td>
</tr>
<tr>
<td>员工部门</td>
<td>
<select name="DeptId">
<option value="0">--请选择--</option>
@foreach (var item in ViewBag.DeptList)
{
<option value="@item.DeptId">@item.DeptName</option>
}
</select>
</td>
</tr>
<tr>
<td>员工姓名</td>
<td><input type="text" name="txtName" /></td>
</tr>
<tr>
<td>员工电话</td>
<td><input type="text" name="txtPhone" /></td>
</tr>
<tr>
<td>员工地区</td>
<td><input type="text" name="txtArea" /></td>
</tr>
<tr>
<td>员工薪资</td>
<td><input type="text" name="txtSalary" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="name" value="添加" /></td>
</tr>
</table>
</div>
</form>
</body>
添加页面
修改:
//编辑员工页面
public ActionResult EditEmpForm()
{
//查询部门列表
ViewBag.DeptList = db.Dept;
//查询要编辑的列
ViewBag.emp = db.Employee.Find(int.Parse(Request["EmpId"]));
return View();
}
//修改员工
public ActionResult EditEmp()
{
int EmpId = int.Parse(Request["EmpId"]);
Employee emp = db.Employee.Find(EmpId);
emp.DeptId = int.Parse(Request["DeptId"]);
emp.EmpName = Request["txtName"];
emp.EmpPhone = Request["txtPhone"];
emp.EmpArea = Request["txtArea"];
emp.EmpSalary = decimal.Parse(Request["txtSalary"]);
int count=db.SaveChanges();
if (count > 0)
{
return Content("<script>alert('修改成功');window.location.href='Index'</script>");
}
else
{
return Content("<script>alert('修改失败');window.location.href='Index'</script>");
}
}
在 EditEmpForm上右键添加视图:
<body>
<form action="~/Home/EditEmp" method="post">
<div style="text-align:center">
<table width="500" align="center" border="1" cellspacing="0">
<input type="hidden" name="EmpId" value="@ViewBag.emp.EmpId" />
<tr>
<td colspan="2"><h3>修改员工</h3></td>
</tr>
<tr>
<td>员工部门</td>
<td>
<select name="DeptId">
<option value="0">--请选择--</option>
@foreach (var item in ViewBag.DeptList)
{
<option value="@item.DeptId" @(item.DeptId==ViewBag.emp.DeptId ? "selected":"")>@item.DeptName</option>
}
</select>
</td>
</tr>
<tr>
<td>员工姓名</td>
<td><input type="text" name="txtName" value="@ViewBag.emp.EmpName"/></td>
</tr>
<tr>
<td>员工电话</td>
<td><input type="text" name="txtPhone" value="@ViewBag.emp.EmpPhone" /></td>
</tr>
<tr>
<td>员工地区</td>
<td><input type="text" name="txtArea" value="@ViewBag.emp.EmpArea" /></td>
</tr>
<tr>
<td>员工薪资</td>
<td><input type="text" name="txtSalary" value="@ViewBag.emp.EmpSalary" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="name" value="修改" /></td>
</tr>
</table>
</div>
</form>
</body>
修改页面
删除:
//删除员工
public ActionResult DeleteEmp()
{
int EmpId = int.Parse(Request["EmpId"]);
Employee emp = db.Employee.Find(EmpId);
db.Employee.Remove(emp);
int count = db.SaveChanges();
if (count > 0)
{
return Content("<script>alert('删除成功');window.location.href='Index'</script>");
}
else
{
return Content("<script>alert('删除失败');window.location.href='Index'</script>");
}
}
删除没有前端页面在Index页面中添加
<a href="DeleteEmp?EmpId=@item.EmpId" οnclick="return confirm('确定删除吗?')">删除</a>。