zoukankan      html  css  js  c++  java
  • MVC后台获取数据和插入数据的三种方式【二】

     MVC模式下,从前端获取数据返回后台,总共有三种形式。下面的代码示例将演示如何将数据返回到后端。

    一、首先我们看看表单代码,注意input标签中name的值。

     1 <html>
     2 <head runat="server">
     3     <meta name="viewport" content="width=device-width" />
     4     <title>Register</title>
     5 </head>
     6 <body>
     7     <div>
     8         <form method="post" action="AddUserInfo">
     9             用户名:<input  type="text" name="txtname"/><br />
    10             密码:<input  type="password" name="txtpwd"/><br />
    11             邮箱:<input  type="text" name="txtEmail"/><br />
    12             <input  type="submit" value="添加"/>
    13         </form>
    14     </div>
    15 </body>
    16 </html>

    二、下面的代码展示如何向后端提交数据

       1. 通过request方法获取前端表单提交的数据。

      

     1  /// <summary>
     2         /// 第一种添加数据的方法,通过request从前端获取数据
     3         /// </summary>
     4         /// <returns></returns>
     5         public ActionResult AddUserInfo2()
     6         {
     7             Models.Userinfo userinfo = new Models.Userinfo();
     8 
     9             userinfo.username = Request["txtname"];
    10             userinfo.password = Request["txtpwd"];
    11             userinfo.Emil = Request["txtEmail"];
    12             userinfo.CreateDate = System.DateTime.Now;
    13             Models.wangjin2Entities1 db = new Models.wangjin2Entities1();
    14             db.Userinfo.Add(userinfo);
    15             if (db.SaveChanges() > 0)
    16             {
    17                 return Content("添加成功");
    18                 //return Response("index");
    19             }
    20             else
    21             {
    22                 return Content("添加失败");
    23             }
    24         }

      2. 第二种方法:方法的参数的名称与表单元素name属性一致,会自动填充

     1  /// <summary>
     2         /// 第二种方法:如果方法的参数的名称与表单元素name属性一致,会自动填充
     3         /// </summary>
     4         /// <returns></returns>
     5         public ActionResult AddUserInfo(string txtname, string txtpwd, string txtEmail)
     6         {
     7             Models.Userinfo userinfo = new Models.Userinfo();
     8             //因为方法的参数的名称和表单元素name属性一致,所以该处可以不使用request方法获取值
     9             //userinfo.username = Request["txtname"];
    10             //userinfo.password = Request["txtpwd"];
    11             //userinfo.Emil = Request["txtEmail"];
    12             userinfo.CreateDate = System.DateTime.Now;
    13             Models.wangjin2Entities1 db = new Models.wangjin2Entities1();
    14             db.Userinfo.Add(userinfo);
    15             if (db.SaveChanges() > 0)
    16             {
    17                 return Content("添加成功");
    18                 //return Response("index");
    19             }
    20             else
    21             {
    22                 return Content("添加失败");
    23             }
    24         }

      3. 第三种方法:表单元素的值和数据库实例的类的属性一致,会自动填充

         3.1 、什么是数据库实例的类:就是指通过EF操作数据库之后生成的类,如下方图2

           图1.                         图2.       

       3.2 第三种形式的代码展示:

     1 /// <summary>
     2         /// 第三种方法:表单元素的值和数据库实例的类的属性一致,会自动填充
     3         /// </summary>
     4         /// <param name="userinfo"></param>
     5         /// <returns></returns>
     6             public ActionResult AddUserInfo1(Userinfo userinfo)
     7             {
     8                 userinfo.CreateDate = System.DateTime.Now;
     9                 Models.wangjin2Entities1 db = new Models.wangjin2Entities1();
    10                 db.Userinfo.Add(userinfo);
    11                 if (db.SaveChanges() > 0)
    12                 {
    13                     return Content("添加成功");
    14                     //return Response("index");
    15                 }
    16                 else
    17                 {
    18                     return Content("添加失败");
    19                 }
    20             }
  • 相关阅读:
    JavaEE——SpringMVC(11)--拦截器
    JavaEE——SpringMVC(10)--文件上传 CommonsMultipartResovler
    codeforces 460A Vasya and Socks 解题报告
    hdu 1541 Stars 解题报告
    hdu 1166 敌兵布阵 解题报告
    poj 2771 Guardian of Decency 解题报告
    hdu 1514 Free Candies 解题报告
    poj 3020 Antenna Placement 解题报告
    BestCoder5 1001 Poor Hanamichi(hdu 4956) 解题报告
    poj 1325 Machine Schedule 解题报告
  • 原文地址:https://www.cnblogs.com/wangjinya/p/10626887.html
Copyright © 2011-2022 走看看