<1>
Home控制器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data;
using MVC.Models;
using System.Data.SqlClient;
using LLSql.DAL;
namespace MVC.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
//查询数据库,将查询出来的数据赋值给UserInfo类的泛型对象 [注:SelectDataToList<UserInfo>()查询的结果就是一个泛型对象]。 然后跳转到Show视图。
List<UserInfo> userinfo = LLSql.DAL.SqlHelper.SelectDataToList<UserInfo>("select * from T_UserInfo");
ViewData["UserInfo"] = userinfo;
return View("Show");
}
/// <summary>
/// 删除功能
/// </summary>
/// <param name="id">要删除列的id</param>
/// <returns></returns>
public ActionResult Delete(int id) //注意,这个id是 Show视图中 <%:Html.ActionLink("编辑", "Edit", "Home", new { id = item.Id }, new { })%> 这个超链接穿过来的id
{
LLSql.DAL.SqlHelper.ExecuteNonQuery("delete from T_UserInfo where id=@id", new SqlParameter("id", id));
return View("Show");
}
/// <summary>
/// get请求,也就是当用户点击“编辑”的时候查询当前编辑的列的信息。并跳转到Edit视图,进行编辑
/// </summary>
/// <param name="id">要编辑列的ID</param>
/// <returns></returns>
[HttpGet]
public ActionResult Edit(int id)//注意,这个id是 Show视图中 <%:Html.ActionLink("编辑", "Edit", "Home", new { id = item.Id }, new { })%> 这个超链接穿过来的id
{
UserInfo userinfo = (UserInfo)SqlHelper.SelectDataToList<UserInfo>("select * from T_UserInfo where id=@id", new System.Data.SqlClient.SqlParameter("id", id)).First();
ViewData.Model = userinfo;
return View("Edit");
}
/// <summary>
/// Post请求。 即当用户在编辑Edit页编辑完毕后点击"保存"按钮后。将用户编辑后的数据保存到数据库。然后重新在Show视图页 面显示出来
/// </summary>
/// <param name="userinfo"></param>
/// <returns></returns>
//[HttpPost]
public ActionResult Edit(UserInfo userinfo) //注意:这个userinfo其实就是Edit页面 进行编辑的UserInfo的属性。编辑完后传过来的
{
SqlHelper.ExecuteNonQuery("update T_Userinfo set Name=@name, Age=@age where id=@id",
new SqlParameter("name", userinfo.Name),
new SqlParameter("age", userinfo.Age),
new SqlParameter("id", userinfo.Id));
return View("Show");
}
}
}
UserInfo Model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MVC.Models
{
public class UserInfo
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
}
Show视图(用来展示数据)
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<%@ Import Namespace="MVC.Models" %>
<%@ Import Namespace="LLSql.DAL" %>
<!DOCTYPE html>
<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Show</title>
<script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("a:contains('删除')").click(function () { return confirm("确定要删除吗") })
})
</script>
</head>
<body>
<div>
<% List<UserInfo> list= SqlHelper.SelectDataToList<UserInfo>("select * from T_UserInfo" ) ;%>
<table>
<tr><th>编码</th><th>姓名</th><th>年龄</th><th>删除</th></tr>
<% foreach (var item in list)
{ %>
<tr><td><%: item.Id%></td><td><%:item.Name %></td><td><%:item.Age %></td><td> <%:Html.ActionLink("删除","Delete", "Home", new { id = item.Id }, new { })%></td>
<td> <%:Html.ActionLink("编辑", "Edit", "Home", new { id = item.Id }, new { })%></td></tr>
<%} %>
</table>
</div>
</body>
</html>
Edit 视图 (用来编辑)
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MVC.Models.UserInfo>" %>
<%@ Import Namespace="MVC.Models" %>
<%@ Import Namespace="LLSql.DAL" %>
<!DOCTYPE html>
<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Edit</title>
</head>
<body>
<% using (Html.BeginForm())
{%>
<div>
<table>
<tr><th>编码</th><td><%:Model.Id%> <%: Html.HiddenFor(u => u.Id)%></td></tr>
<tr><td>姓名</td><td><%:Html.TextBoxFor(u => u.Name)%> </td></tr>
<tr><td>年龄</td><td><%: Html.TextBoxFor(u => u.Age)%> </td></tr>
<tr><td colspan='2'><input type="submit" value="保存"/></td></tr>
</table>
</div>
<%} %>
</body>
</html>
效果