将ado.net的cs文件SqlHelper.cs放入解决方案

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Configuration;
 using System.Data.SqlClient;
 using System.Data;

 namespace MvcUserDemo
 {
     public static class  SqlHelper
     {
         public static readonly string connstr =
             ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;

         public static SqlConnection OpenConnection()
         {
             SqlConnection conn = new SqlConnection(connstr);
             conn.Open();
             return conn;
         }

         public static int ExecuteNonQuery(string cmdText,
             params SqlParameter[] parameters)
         {
             using (SqlConnection conn = new SqlConnection(connstr))
             {
                 conn.Open();
                 return ExecuteNonQuery(conn, cmdText, parameters);
             }
         }

         public static object ExecuteScalar(string cmdText,
             params SqlParameter[] parameters)
         {
             using (SqlConnection conn = new SqlConnection(connstr))
             {
                 conn.Open();
                 return ExecuteScalar(conn, cmdText, parameters);
             }
         }

         public static DataTable ExecuteDataTable(string cmdText,
             params SqlParameter[] parameters)
         {
             using (SqlConnection conn = new SqlConnection(connstr))
             {
                 conn.Open();
                 return ExecuteDataTable(conn, cmdText, parameters);
             }
         }

         public static int ExecuteNonQuery(SqlConnection conn,string cmdText,
            params SqlParameter[] parameters)
         {
             using (SqlCommand cmd = conn.CreateCommand())
             {
                 cmd.CommandText = cmdText;
                 cmd.Parameters.AddRange(parameters);
                 return cmd.ExecuteNonQuery();
             }
         }

         public static object ExecuteScalar(SqlConnection conn, string cmdText,
             params SqlParameter[] parameters)
         {
             using (SqlCommand cmd = conn.CreateCommand())
             {
                 cmd.CommandText = cmdText;
                 cmd.Parameters.AddRange(parameters);
                 return cmd.ExecuteScalar();
             }
         }

         public static DataTable ExecuteDataTable(SqlConnection conn, string cmdText,
             params SqlParameter[] parameters)
         {
             using (SqlCommand cmd = conn.CreateCommand())
             {
                 cmd.CommandText = cmdText;
                 cmd.Parameters.AddRange(parameters);
                 using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
                 {
                     DataTable dt = new DataTable();
                     adapter.Fill(dt);
                     return dt;
                 }
             }
         }

         public static object ToDBValue(this object value)
         {
             return value == null ? DBNull.Value : value;
         }

         public static object FromDBValue(this object dbValue)
         {
             return dbValue == DBNull.Value ? null : dbValue;
         }
     }
 }

SqlHelper

在web.config中配置连接数据库文件

 <connectionStrings>
     <add name="connstr" connectionString="server=.;uid=sa;pwd=321654;database=DemoDb"/>
   </connectionStrings>

add

创建一个控制器和页面,并获取数据库中的UserInfo表中的数据,把数据传递到前台页面进行展示

 using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
 using System.Web;
 using System.Web.Mvc;

 namespace MvcUserDemo.Controllers
 {
     public class UserInfoController : Controller
     {
         //
         // GET: /UserInfo/

         public ActionResult Index()
         {
             //获取数据库中的UserInfo表中的数据
             DataTable dt=SqlHelper.ExecuteDataTable("select Id, UserName, Age from dbo.UserInfo");

             //把数据传递到前台页面进行展示
             ViewData["dt"] = dt;
             return View();
         }

     }
 }

UserInfoController.cs

前台页面展示数据库中的数据

 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

 <%@ Import Namespace="System.Data" %>

 <!DOCTYPE html>

 <html>
 <head runat="server">
     <meta name="viewport" content="width=device-width" />
     <title>Index</title>
 </head>
 <body>
     <div>
         <%
             DataTable dt = (DataTable)ViewData["dt"]; 

         %>

         <table>
             <tr>
                 <th>编号</th>
                 <th>姓名</th>
                 <th>年龄</th>
             </tr>

             <%foreach (DataRow dataRow in dt.Rows)
               {%>

             <tr>
                 <td />
                 <%:dataRow["Id"] %><td />
                 <td />
                 <%:dataRow["UserName"]%><td />
                 <td><%:dataRow["Age"]%>
                 <td />
             </tr>

             <%}%>
         </table>
     </div>
 </body>
 </html>

Index.aspx

用户注册模块(拿到表单里面传递过来的数据,往数据库插入数据,返回首页)

 using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
 using System.Web;
 using System.Web.Mvc;
 using System.Data;
 using System.Data.SqlClient;

 namespace MvcUserDemo.Controllers
 {
     public class UserInfoController : Controller
     {
         #region 用户列表

         //
         // GET: /UserInfo/

         public ActionResult Index()
         {
             //获取数据库中的UserInfo表中的数据
             DataTable dt = SqlHelper.ExecuteDataTable("select Id, UserName, Age from dbo.UserInfo");

             //把数据传递到前台页面进行展示
             ViewData["dt"] = dt;
             return View();
         }
         #endregion

         #region 用户注册页面
         public ActionResult Add()
         {
             return View();
         }

         #endregion
         //用户注册方法
         public ActionResult ProcessAdd(FormCollection collection)
         {
             // 拿到表单里面传递过来的数据
             string userName = Request["UserName"];
             int Age = Convert.ToInt32(Request["Age"]);
             //int Age = int.Parse(collection["Age"] ?? "0");
             //往数据库插入数据
             string insertSql = "insert UserInfo values(@UserName,@Age)";
             SqlHelper.ExecuteNonQuery(insertSql,
                 new SqlParameter("@UserName", userName),
                 new SqlParameter("@Age", Age));

             // return Content("OK");
             return RedirectToAction("Index");
         }

     }
 }

ProcessAdd

 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

 <!DOCTYPE html>

 <html>
 <head runat="server">
     <meta name="viewport" content="width=device-width" />
     <title>用户注册</title>
 </head>
 <body>
     <div>
         <form method="post" action="/UserInfo/ProcessAdd">
             <table>
                 <tr>
                     <td>用户名:</td>
                     <td>
                         <input type="text" name="UserName"></td>
                 </tr>
                 <tr>
                     <td>年龄:</td>
                     <td>
                         <input type="text" name="Age"></td>
                 </tr>
                 <tr>
                     <td colspan=">
                         <input type="submit" value="用户注册"></td>
                 </tr>
             </table>
         </form>
     </div>
 </body>
 </html>

用户注册前台页面

 

强类型视图

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;

 namespace MvcUserDemo.Models
 {
     public class UserInfo
     {
         public string UserName { get; set; }
         public int Id { get; set; }
         public int Age { get; set; }
     }
 }

创建一个类

(显示用户)显示models中的数据

 using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
 using System.Web;
 using System.Web.Mvc;
 using System.Data;
 using System.Data.SqlClient;
 using MvcUserDemo.Models;

 namespace MvcUserDemo.Controllers
 {
     public class UserInfoController : Controller
     {
         #region 用户列表

         //
         // GET: /UserInfo/

         public ActionResult Index()
         {
             //获取数据库中的UserInfo表中的数据
             DataTable dt = SqlHelper.ExecuteDataTable("select Id, UserName, Age from dbo.UserInfo");

             //把数据传递到前台页面进行展示
             ViewData["dt"] = dt;
             return View();
         }
         #endregion

         #region 用户注册页面
         public ActionResult Add()
         {
             return View();
         }

         #endregion
         //用户注册方法
         public ActionResult ProcessAdd(FormCollection collection)
         {
             // 拿到表单里面传递过来的数据
             string userName = Request["UserName"];
             int Age = Convert.ToInt32(Request["Age"]);
             //int Age = int.Parse(collection["Age"] ?? "0");
             //往数据库插入数据
             string insertSql = "insert UserInfo values(@UserName,@Age)";
             SqlHelper.ExecuteNonQuery(insertSql,
                 new SqlParameter("@UserName", userName),
                 new SqlParameter("@Age", Age));

             // return Content("OK");
             return RedirectToAction("Index");
         }

         #region 显示用户
         public ActionResult Show()
         {
             UserInfo userInfo = new UserInfo();
             userInfo.Id = ;
             userInfo.UserName = "你懂的";
             userInfo.Age = ;
             ViewData.Model = userInfo;
             return View();
         }
         #endregion
     }
 }

后台代码

 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcUserDemo.Models.UserInfo>" %>

 <%@ Import Namespace="MvcUserDemo.Models" %>
 <!DOCTYPE html>

 <html>
 <head runat="server">
     <meta name="viewport" content="width=device-width" />
     <title>Show</title>
 </head>
 <body>
     <div>
         <table>
             <tr>
                 <td>ID:</td>
                 <td><%:Model.Id %></td>
                 <td>姓名:</td>
                 <td><%:Model.UserName %></td>
                 <td>年龄:</td>
                 <td><%:Model.Age %></td>
             </tr>
         </table>
     </div>
     <%:Html.ActionLink("回到首页","Index") %>
 </body>
 </html>

前台代码

用户的删除

修改Index页面,并引入jquery文件

前台代码

 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

 <%@ Import Namespace="System.Data" %>

 <!DOCTYPE html>

 <html>
 <head runat="server">
     <meta name="viewport" content="width=device-width" />
     <title>Index</title>
     <script src="../../Scripts/jquery-1.8.2.min.js"></script>
     <script>
         $(function () {
             $("a:contains('删除')").click(function () {
                 return confirm("请问是否删除此数据?");

             });
         });

     </script>

 </head>
 <body>
     <div>
         <%
             DataTable dt = (DataTable)ViewData["dt"]; 

         %>

         <table>
             <tr>
                 <th>编号</th>
                 <th>姓名</th>
                 <th>年龄</th>
                 <th>删除</th>
             </tr>

             <%foreach (DataRow dataRow in dt.Rows)
               {%>

             <tr>
                 <td />
                 <%:dataRow["Id"] %><td />
                 <td />
                 <%:dataRow["UserName"]%><td />
                 <td><%:dataRow["Age"]%>
                 <td />
                 <td><%:Html.ActionLink("删除", "Delete", "UserInfo", new { Id = dataRow["Id"] }, new { })%>
                 <td />
             </tr>

             <%}%>
         </table>
     </div>
 </body>
 </html>

在UserInfo中添加一个新的方法

  #region 删除
         public ActionResult Delete(int Id)
         {
             //根据Id删除用户的数据
             string sql = "delete from UserInfo where Id=@Id";
             SqlHelper.ExecuteNonQuery(sql, new SqlParameter("@Id", Id));

             //页面跳转到删除后的首页

             return RedirectToAction("Index");
         }
         #endregion

后台代码

用户的修改

   #region 修改用户

         [HttpGet]
         public ActionResult Edit(int Id)
         {
             string sql = "select UserName,Id,Age from UserInfo where Id=@Id";
             DataTable dt = SqlHelper.ExecuteDataTable(sql, new SqlParameter("@Id", Id));

             //把dt转成UserInfo对象
             UserInfo userInfo = new UserInfo();
             userInfo.Id = Convert.ToInt32(dt.Rows[]["Id"]);
             userInfo.Age = Convert.ToInt32(dt.Rows[]["Age"]);
             userInfo.UserName = dt.Rows[]["UserName"].ToString();
             ViewData.Model = userInfo;
             return View();
         }

         //只是显示用户修改的页面
         [HttpPost]
         public ActionResult Edit(int Id, int Age, string UserName, UserInfo userInfo)
         {
             string updateSql = "update UserInfo set UserName=@UserName,Age=@Age where Id=@Id";
             SqlParameter idParameter = new SqlParameter("@Id", userInfo.Id);
             SqlParameter ageParameter = new SqlParameter("@Age", userInfo.Age);
             SqlParameter nameParameter = new SqlParameter("@UserName", userInfo.UserName);
             SqlHelper.ExecuteNonQuery(updateSql, idParameter, ageParameter, nameParameter);
             return RedirectToAction("Index");
         }
         #endregion

后台代码

 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcUserDemo.Models.UserInfo>" %>

 <!DOCTYPE html>

 <html>
 <head runat="server">
     <meta name="viewport" content="width=device-width" />
     <title>Edit</title>
     <script src="../../Scripts/jquery-1.8.2.min.js"></script>
     <script>
         $(function () {
             $("#xiugai").click(function () {

                 return confirm("请问是否修改此数据?");
             });

         });

         </script>
 </head>
 <body>

     <%using (Html.BeginForm())
       {%>
     <table>
         <tr>
             <td>用户编号:</td>
             <td><%:Model.Id %>
                 <%:Html.HiddenFor(u=>u.Id)%>
             </td>
         </tr>
         <tr>
             <td>用户名:</td>
             <td><%:Html.TextBoxFor(u=>u.UserName) %></td>
             <tr>
         <tr>
             <td>年龄:</td>
             <td><%:Html.TextBoxFor(u=>u.Age)%></td>
         </tr>
         <tr>
             <td colspan=">
                 <input type="submit" value="修改" id="xiugai" /></td>
         </tr>

     </table>
     <%} %>
 </body>
 </html>

前台代码

用MVC4练习,后台用aspx,数据库DemoDb《MvcUserDemo》的更多相关文章

  1. 将前台input中的数据异步传到后台并存入数据库

    将前台input中的数据异步传到后台并存入数据库 先看图: 利用ajax异步交互数据,并不是以json数组的形式将数据传到后台,而是利用字符数组的形式将其传到后台.动态新增每一行数据,将每一列对应的数 ...

  2. MVC4做网站后台:用户管理 ——用户组 2、查看、修改、删除用户组

    查看用户组资料和修改用户组资料结合在一起,在用户组列表双击查看用户组资料,修改资料点保存可以保存用户组,点删除可以删除用户组. 先在UserGroupController中添加 action publ ...

  3. MVC4做网站后台:用户管理 ——用户组 1、添加用户组

    打开控制器UserGroupController 添加Add action /// <summary> /// 添加用户组 /// </summary> /// <ret ...

  4. MVC4做网站后台:模块管理1、修改模块信息

    网站可能会包含一些模块:像文章.产品.图片.留言等. 栏目模块主要实现功能,启用或禁用模块,模块权限设置,模块上传设置等. 权限设置和上传设置以后专门考虑,先来显示或禁用模块. 1.在顶部导航栏添加管 ...

  5. dede两个后台共用一个数据库会出现的问题

    共用数据库内容页图片问题 在include/extend.func.php里面加上 function replaceurl($newurl) { $newurl=str_replace('src=&q ...

  6. MVC4做网站后台:用户管理 —用户

    这块进行用户管理,可以浏览.查询已注册的用户,修改用户资料,删除用户等.没有做添加用户,不知是否必要.列表页还是使用easyui的datagrid.这个思路跟用户组的方式差不多. 1.接口Interf ...

  7. MVC4做网站后台:用户管理 ——用户组补充

    上次做完发现存在点问题. 1.是类型显示的为数字(如下图): 2.是不能根据类型进行查询. 首先做查询.easyui-datagrid可以添加toolbar. 在datagrid的data-optio ...

  8. MVC4做网站后台:用户管理 ——用户组

    用户管理这块包含用户和用户组两部分. 用户组包括浏览 用户组列表,添加.修改.删除用户组等.按照前面思路系统是依据用户组来判断用户权限的,用户组的最主要目的是划分权限.权限这块以后单独在做. 下面实现 ...

  9. MVC4做网站后台:栏目管理3、删除栏目与左侧列表菜单

    一.左侧列表菜单 打开视图Menu.cshtml,增加部分见红框 在category中添加脚本 //栏目菜单加载完毕函数 function CategoryMenu_Ready() { $('#cat ...

随机推荐

  1. jquery插件:点击拉出的右侧滑动菜单

    就是一个停留在页面右侧的滑动菜单,点击可以拉出,带回调函数.宽高位置可以参数指定.插件代码如下: (jquery的路径请自己修改) (function($){ $.fn.sideSwitch = fu ...

  2. 导出EXCEL(转转)

    ))                             content.AppendFormat("<td style='vnd.ms-excel.numberformat:#, ...

  3. 转载:执行脚本出现bin/bash: bad interpreter: No such file or directory

    转载网址:http://blog.csdn.net/red10057/article/details/8051650 刚刚学习 SHELL 写了一个简单的例子 发生如下错误 -bash: ./test ...

  4. flask开发restful api系列(8)-再谈项目结构

    上一章,我们讲到,怎么用蓝图建造一个好的项目,今天我们继续深入.上一章中,我们所有的接口都写在view.py中,如果几十个,还稍微好管理一点,假如上百个,上千个,怎么找?所有接口堆在一起就显得杂乱无章 ...

  5. Linux 在一个命令行上执行多个命令(转载)

    对于单个命令执行我想大多数人都是明了的,也就是在一个命令行上执行一条命令.那对于在一行上执行多个命令怎么办呢,其实也很简单,只需在各命令之间加上特殊命令符号,我们常规使用到的有3个特殊命令符号. 1. ...

  6. Linux_shell条件判断if中的-a到-z的意思

    [ -a FILE ]  如果 FILE 存在则为真.  [ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真.  [ -c FILE ]  如果 FILE 存在且是一个字特殊文件则 ...

  7. UIImagePickerController 操作图库

     UIImagePickerController详解   转载自:http://blog.csdn.net/kingsley_cxz/article/details/9157093 1.UIImage ...

  8. 转:VC++获取屏幕大小第一篇 像素大小GetSystemMetrics

    VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics>和<VC++获取屏幕大小第二篇物理大小GetDeviceCaps 上>和<VC++获取屏幕大小第三篇物理 ...

  9. 《OpenCL异构计算》新版中译本派送中!

    <OpenCL异构计算1.2>新鲜出炉,目前市面上仍一书难求!我们已向清华出版社订购到第一批新书.关注异构开发社区,积极参与,就有可能免费获取新书! 1.如果您异构社区的老朋友,请关注:1 ...

  10. bfs 记录和打印最短路径

    Poj3984 迷宫问题 #include <iostream> #include <algorithm> #include <cstdio> #include & ...