1、在Test控制器中添加一個RegiSter()方法。

2、在Register()方法上右鍵添加視圖。在添加的視圖中添加form表單,Form表單中添加表單元素完成注冊。

3、用Ajax完成注冊。

4、從上圖可以看出是Post請求,然后請求的地址是Test控制器中的AddUserInfo()方法,那么在Test控制器中添加AddUserInfo()方法,完成對數據的添加操作。
我在Models文件夾中添加了已經把數據庫中的UserInfo表通過EF映射到程序中了。

Test控制器中的AddUserInfo方法執行的代碼。
1 public ActionResult AddUserInfo() 2 { 3 //實例化數據操作類。 4 Models.MVC_TestEntities2 db = new Models.MVC_TestEntities2(); 5 db.Configuration.ValidateOnSaveEnabled = false; 6 //實例化UserInfo對象。 7 Models.UserInfo userInfo = new Models.UserInfo(); 8 //通過Request.Form["txtName"]獲取文本框中的值,且未userInfo對象賦值。 9 userInfo.UserName = Request.Form["txtName"]; 10 userInfo.UserPassword = Request["txtPassword"]; 11 userInfo.UserEmail = Request["txtEmail"]; 12 userInfo.UserRegTime = DateTime.Now; 13 //標記為添加標記。 14 db.UserInfo.Add(userInfo); 15 //如果返回的數據>0,則添加成功,否則添加失敗。 16 if (db.SaveChanges() > 0) 17 { 18 //返回ActionResult類型的結果。 19 return Content("添加成功!"); 20 } 21 else 22 { 23 //返回ActionResult類型的結果。 24 return Content("添加失敗!"); 25 } 26 }
5、調用。在地址欄中輸入Test控制器中的Register方法:http://localhost:24392/Test/Register ,這個時候會彈出圖1的界面,當輸入好用戶信息后,點擊添加按鈕,成功后,返回圖2內容。


執行流程:當在地址欄中輸入http://localhost:24392/Test/Register的時候,會先執調用Test控制器中的Register()方法所對應的視圖,也就是圖1,當把用戶信息填寫完后,店家圖1中的添加按鈕的時候會發送一次Ajax請求,請求的頁面是Test控制器中的AddUserInfo()
方法(Test.AssUserInfo),然后在Test控制器中接收表單的數據,調用EF中從數據庫中映射過來的表,完成數據的添加,當添加成功后,返回一個字符串到Register方法所對應的視圖Register.aspx。
6、AddUserInfo()還可這樣寫:
1 /// <summary> 2 /// 如果方法的參數的名稱與表單中元素的name屬性的值一致的話會自動填充,這個時候不用使用Request進行接收了。 3 /// </summary> 4 /// <param name="txtName"></param> 5 /// <param name="txtPassword"></param> 6 /// <param name="txtEmail"></param> 7 /// <returns></returns> 8 public ActionResult AddUserInfo(string txtName,string txtPassword,string txtEmail) 9 { 10 //實例化數據操作類。 11 Models.MVC_TestEntities2 db = new Models.MVC_TestEntities2(); 12 db.Configuration.ValidateOnSaveEnabled = false; 13 //實例化UserInfo對象。 14 Models.UserInfo userInfo = new Models.UserInfo(); 15 //通過Request.Form["txtName"]獲取文本框中的值,且未userInfo對象賦值。 16 userInfo.UserName = txtName; 17 userInfo.UserPassword = txtPassword; 18 userInfo.UserEmail = txtEmail; 19 userInfo.UserRegTime = DateTime.Now; 20 //標記為添加標記。 21 db.UserInfo.Add(userInfo); 22 //如果返回的數據>0,則添加成功,否則添加失敗。 23 if (db.SaveChanges() > 0) 24 { 25 //返回ActionResult類型的結果。 26 return Content("添加成功!"); 27 } 28 else 29 { 30 //返回ActionResult類型的結果。 31 return Content("添加失敗!"); 32 } 33 }
7、AddUserInfo還可這樣寫:
先將表單元素中的name屬性改成對應的實體屬性。

1 /// <summary> 2 /// 如果表單元素的name屬性的值與實體類中屬性的名字保持一致,那么表單的數據會自動賦值給實體中的屬性。 3 /// </summary> 4 /// <param name="userInfo"></param> 5 /// <returns></returns> 6 public ActionResult AddUserInfo(Models.UserInfo userInfo) 7 { 8 //實例化數據操作類。 9 Models.MVC_TestEntities2 db = new Models.MVC_TestEntities2(); 10 db.Configuration.ValidateOnSaveEnabled = false; 11 //標記為添加標記。 12 db.UserInfo.Add(userInfo); 13 //如果返回的數據>0,則添加成功,否則添加失敗。 14 if (db.SaveChanges() > 0) 15 { 16 //返回ActionResult類型的結果。 17 return Content("添加成功!"); 18 } 19 else 20 { 21 //返回ActionResult類型的結果。 22 return Content("添加失敗!"); 23 } 24 }
8、為方法添加特性標簽指定get請求或者post請求。
1 [HttpGet]//指定get請求。 2 public ActionResult AddUserInfo() 3 { 4 //實例化數據操作類。 5 Models.MVC_TestEntities2 db = new Models.MVC_TestEntities2(); 6 db.Configuration.ValidateOnSaveEnabled = false; 7 //實例化UserInfo對象。 8 Models.UserInfo userInfo = new Models.UserInfo(); 9 //通過Request.Form["txtName"]獲取文本框中的值,且未userInfo對象賦值。 10 userInfo.UserName = Request.Form["txtName"]; 11 userInfo.UserPassword = Request["txtPassword"]; 12 userInfo.UserEmail = Request["txtEmail"]; 13 userInfo.UserRegTime = DateTime.Now; 14 //標記為添加標記。 15 db.UserInfo.Add(userInfo); 16 //如果返回的數據>0,則添加成功,否則添加失敗。 17 if (db.SaveChanges() > 0) 18 { 19 //返回ActionResult類型的結果。 20 return Content("添加成功!"); 21 } 22 else 23 { 24 //返回ActionResult類型的結果。 25 return Content("添加失敗!"); 26 } 27 } 28 29 [HttpPost]//指定post請求。 30 public ActionResult AddUserInfo(string txtName,string txtPassword,string txtEmail) 31 { 32 //實例化數據操作類。 33 Models.MVC_TestEntities2 db = new Models.MVC_TestEntities2(); 34 db.Configuration.ValidateOnSaveEnabled = false; 35 //實例化UserInfo對象。 36 Models.UserInfo userInfo = new Models.UserInfo(); 37 //通過Request.Form["txtName"]獲取文本框中的值,且未userInfo對象賦值。 38 userInfo.UserName = txtName; 39 userInfo.UserPassword = txtPassword; 40 userInfo.UserEmail = txtEmail; 41 userInfo.UserRegTime = DateTime.Now; 42 //標記為添加標記。 43 db.UserInfo.Add(userInfo); 44 //如果返回的數據>0,則添加成功,否則添加失敗。 45 if (db.SaveChanges() > 0) 46 { 47 //返回ActionResult類型的結果。 48 return Content("添加成功!"); 49 } 50 else 51 { 52 //返回ActionResult類型的結果。 53 return Content("添加失敗!"); 54 } 55 }
End。
