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             }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM