“只有客戶(hù)發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無(wú)止境。
-------請(qǐng)求的這個(gè)路徑【這是約定好的】我們?cè)赼ction="/User/Register";為什么不寫(xiě)UserController呢,這也是約定好的沒(méi)折
http://location:8888/User/Index;這就是我們要請(qǐng)求的注冊(cè)頁(yè)面的路徑
首先我們得創(chuàng)建一個(gè)MVCApplication2這個(gè)應(yīng)用程序,現(xiàn)在呢已經(jīng)是MVC4了哈。它們的原理都差不多,MVC4呢性能上比較好點(diǎn)。創(chuàng)建好這個(gè)MVCApplication時(shí),程序里面自帶了有三個(gè)重要的文件夾。第一個(gè)是控制器Controllers【處理用戶(hù)交互,從model中獲取數(shù)據(jù)并將數(shù)據(jù)傳給指定的View視圖】,第二個(gè)是視圖Views【是用戶(hù)接口層組件,主要是將model中的數(shù)據(jù)展示給用戶(hù),ASPX和ASCX文件被用來(lái)處理視圖的職責(zé)】,第三是實(shí)體Model【主要是存儲(chǔ)或者是處理數(shù)據(jù)的組件】
1.在Controllers里面創(chuàng)建一個(gè)用戶(hù)控制器,當(dāng)創(chuàng)建時(shí)會(huì)有一個(gè)默認(rèn)的文件名稱(chēng),DefaultController。我們只需要改前面的名字就行 UserController,這是微軟前輩的約定,因?yàn)楫?dāng)創(chuàng)建好這個(gè)控制器的時(shí)候,里面會(huì)給我創(chuàng)建一個(gè)視圖
- // GET: /User/
- public ActionResult Index()
- {
- return View(); //這個(gè)視圖也繼承自ActionResult
- }
2.我們就把鼠標(biāo)放到這個(gè)Index()上面右擊添加視圖,這個(gè)時(shí)候在Views文件夾里面會(huì)給創(chuàng)建一個(gè)以User視圖,里面有一個(gè)方法Index.aspx一個(gè)用來(lái)展示給用戶(hù)看的界面。
3.就在里面寫(xiě)一個(gè)form表單吧
- 用戶(hù)名:
- 用戶(hù)密碼:
- 用戶(hù)郵箱:
4.現(xiàn)在有疑問(wèn)吧,為什么 action="/User/Register"。而不是向以前寫(xiě)表單時(shí)要轉(zhuǎn)向的頁(yè)面了action="/User/Register.aspx"【注意啦:在MVC里面沒(méi)有文件夾只有方法,這個(gè)Register就是我們?cè)谶@個(gè)生成的視圖里面的一個(gè)方法】當(dāng)然這個(gè)方法是我們自己定義的,
- public ActioinResult Register()
- {
- ........ 為什么類(lèi)型是這個(gè)ActionResult呢?因?yàn)檫@個(gè)是要展示給用戶(hù)的視圖,Views繼承自ActoinResult
- }
5.我們就在這個(gè)創(chuàng)建的UserController里面寫(xiě)一人方法。
在寫(xiě)方法之前呢,我們得生成一個(gè)實(shí)體對(duì)象,在Models文件夾里面
這樣就行了
6.我們就在創(chuàng)建的UserController文件里面寫(xiě)一個(gè)方法
- public ActionResult Register()
- {
- UserInfo user = new UserInfo();//創(chuàng)建一個(gè)用戶(hù)信息對(duì)象
- //接收用戶(hù)輸入的數(shù)據(jù)
- user.UserName = Request.Form["textName"];
- user.UserPass = Request.Form["textPwd"];
- user.Email = Request.Form["textEmail"];
- user.RegTime = DateTime.Now;
- EFFristModelEntities ef = new EFFristModelEntities();//取到數(shù)據(jù)的上下文 這個(gè)看下面的圖就知道啦
- ef.UserInfo.AddObject(user);//把這個(gè)用戶(hù)添加到這個(gè)上下文中
- if (ef.SaveChanges() > 0)//當(dāng)保存的數(shù)據(jù)大于0的時(shí)候
- {
- return Content("親注冊(cè)成功");
- }
- return RedirectToAction("Index");//當(dāng)注冊(cè)不成功的時(shí)候就繼續(xù)返回到這個(gè)注冊(cè)頁(yè)面,里面的Index視圖
- }
把這個(gè)EFFristModelEntities給Copy就行啦;對(duì)了這個(gè)models里面的名字和數(shù)據(jù)庫(kù)里面的名字不一樣
這個(gè)上下文就不一樣了。
在MVC里面不要向ASP.NET里面執(zhí)行的時(shí)候,把什么設(shè)置成啟始頁(yè),沒(méi)有在瀏覽器中查看了。要點(diǎn)擊菜單欄里面的執(zhí)行了
設(shè)置了MVC里面的執(zhí)行頁(yè)面為啟始頁(yè),不好意思親。后果自付哈