1. 程式人生 > >MVC後臺獲取數據和插入數據的三種方式

MVC後臺獲取數據和插入數據的三種方式

http style jin port username 返回 userinfo 如何 info

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             }

MVC後臺獲取數據和插入數據的三種方式