mvc C# JavaScript LigerUI oracle實(shí)現(xiàn)用戶(hù)的注冊(cè)、登陸驗(yàn)證、登陸
一、登錄數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中創(chuàng)建表User00,并且插入數(shù)據(jù)。
表的字段分別為:
Id(編號(hào))、Name(姓名)、Grid(級(jí)別)、Score(積分)、Password(密碼)、Age(年齡)、Code(邀請(qǐng)碼)。(其中編號(hào)是自動(dòng)編號(hào))
部分命令如下:
select * from User00; /*查詢(xún)User00*/ insert into User00 values('one','優(yōu)',10000,'123',24); /*插入一行數(shù)據(jù)*/ update User00 set Grid='優(yōu)' where Id=001; /*更新已存在數(shù)據(jù)*/ delete from User00; /*刪除表里所有數(shù)據(jù)*/ alter table User00 rename Code to Code; /*更改字段名*/ update User00 set Code =null; /*刪除某一列所有數(shù)據(jù)*/ alter table User00 add Age number; /* user00中插入一列*/ alter table User00 modify Age varchar2(4); /*更改某字段類(lèi)型*/ delete from User00 where Score is null; /*刪除密碼為空的所有行*/
二、新建mvc項(xiàng)目kaohe00,添加一個(gè)控制器Home。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Model; using log4net; using System.Reflection; //using Bll; namespace kaohe00.Models { public class HomeController : Controller { // //數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)的 private static Bll.Test00 test00 = new Bll.Test00("Data Source=YWW;User Id=Test00;Password=Test00;"); //連接數(shù)據(jù)庫(kù) // GET: /Home/ public ActionResult Index() //顯示主頁(yè)的動(dòng)作方法 { return View(); } public JsonResult ShowInfo() //把數(shù)據(jù)庫(kù)里的表的數(shù)據(jù)發(fā)送到前臺(tái)的方法 { var list = test00.GetList(); // return Json(new { Rows = list, Total = list.Count }, JsonRequestBehavior.AllowGet); } public ActionResult Register() //注冊(cè)的動(dòng)作方法 { return View(); } } }
三、為Home的Index添加一個(gè)視圖,顯示主頁(yè)的信息,將數(shù)據(jù)庫(kù)的表User00的數(shù)據(jù)放到主頁(yè)視圖的表格中。
1、主頁(yè)視圖代碼:
@{ ViewBag.Title = "Index"; } <script src="~/Content/jquery/jquery-1.9.0.min.js"></script> <script src="~/Content/script/common.js"></script> <script src="~/Content/ligerui/ligerui.all.js"></script> <link href="~/Content/ligerui/skins/Aqua/css/ligerui-all.css" rel="stylesheet" /> <head> <title>我的主頁(yè)</title> </head> <div id="maingrid"></div> <script type="text/javascript"> $(function () { $("#maingrid").ligerGrid({ columns: [ { display: '編號(hào)', name: 'Id',heigth:100,width:250 }, { display: '姓名', name: 'Name', heigth: 100, width: 250 }, { display: '積分', name: 'Score', heigth: 100, width: 250 }, { display: '密碼', name: 'Password', heigth: 100, width: 250 }, { display: '級(jí)別', name: 'Grid', heigth: 100, width: 250 }, { display: '邀請(qǐng)碼', name: 'Code', heigth: 100, width: 250 } ], url: "/Home/ShowInfo", //調(diào)用顯示自己信息的動(dòng)作方法 }); }); </script>
2、主頁(yè)視圖界面:
四、實(shí)現(xiàn)登錄功能
1、添加一個(gè)Login控制器。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace kaohe00.Controllers { public class LoginController : Controller { // // GET: /Login/ //數(shù)據(jù)庫(kù) private static Bll.Test00 test00 = new Bll.Test00("Data Source=YWW;User Id=Test00;Password=Test00;"); //連接數(shù)據(jù)庫(kù) public ActionResult Index() { return View(); } public JsonResult LoginTest(string Id ,string Password) //登錄驗(yàn)證動(dòng)作方法 { var succ = test00.LoginTest(Id, Password); return Json(new { Succ = succ }); } } }
2.1、為L(zhǎng)ogin的Index添加一個(gè)視圖
視圖代碼:
@{ ViewBag.Title = "Index"; } <script src="~/Content/jquery/jquery-1.9.0.min.js"></script> <script src="~/Content/script/common.js"></script> <script src="~/Content/ligerui/ligerui.all.js"></script> <link href="~/Content/ligerui/skins/Aqua/css/ligerui-all.css" rel="stylesheet" /> <head> <title>登錄</title> </head> <div id="login"> <div id="Lform"></div> </div> <script type="text/javascript"> $(function () { $("#Lform").ligerForm({ fields: [ { display: "編號(hào)", name: "Id", newline: false, type: "text", }, { display: "密碼", name: "Password", newline: true, type: "password", } ], }); $.ligerDialog.open({ target: $("#login"), title: "登錄", allowClose: false, buttons: [ { text: '登錄', onclick: function (item, dialog) { var form = liger.get("Lform"); var data = form.getData(); if(data.Id==""||data.Password=="") { alert("用戶(hù)名或密碼不能為空"); return false; } $.post("/Login/LoginTest", data, function (result) { //alert(result.Succ); if(result.Succ == true) { window.document.location.href = "/Home/Index"; } else { alert("登錄失敗"); return false; } }); } }, { text: '注冊(cè)', onclick: function (item, dialog) { window.document.location.href = "/Register/Index"; } }, ] }); }); </script>
2.2、登錄視圖的界面:
五、實(shí)現(xiàn)注冊(cè)功能
1、添加一個(gè)注冊(cè)控制器Register
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Model; using log4net; using System.Reflection; namespace kaohe00.Controllers { public class RegisterController : Controller { //數(shù)據(jù)庫(kù) private static Bll.Test00 test00 = new Bll.Test00("Data Source=YWW;User Id=Test00;Password=Test00;"); // // GET: /Register/ public ActionResult Index() { return View(); } public JsonResult Register(User00 user00) { var succ=test00.AddNew(user00)>0?1:0; return Json(new { Succ = succ }, JsonRequestBehavior.AllowGet); } } }
2.1、為注冊(cè)控制器Register的index添加一個(gè)視圖
@{ ViewBag.Title = "Index"; } <script src="~/Content/jquery/jquery-1.9.0.min.js"></script> <script src="~/Content/script/common.js"></script> <script src="~/Content/ligerui/ligerui.all.js"></script> <link href="~/Content/ligerui/skins/Aqua/css/ligerui-all.css" rel="stylesheet" /> <script src="scripts/jquery.validate.js" type="text/javascript"></script> <head> <title>注冊(cè)頁(yè)面</title> </head> <div id="reform"></div> <div id="rebutton"><input style="margin-left:100px" type="button" value="注冊(cè)" onclick="register()"></div> <script type="text/javascript"> function register() { // alert("test"); var form = liger.get("reform"); // alert(form.name.getData); var data = form.getData(); if (data.Name == "" || data.Password == ""||data.Grid == "") { alert("請(qǐng)完整填寫(xiě)必填信息"); return false; } //alert("test"); $.post("/Register/Register", data, function (data) { alert("注冊(cè)成功"); window.document.location.href = "/Home/Index"; }); } $(function () { $("#reform").ligerForm({ inputWidth: 170, labelWidth: 90, space: 40, fields: [ { display: "姓名 ", name: "Name", newline: true, type: "text",validate:{required:true}}, { display: "密碼", name: "Password", newline: true, type: "password", type: "text", validate: { required: true } }, { display: "年齡", name: "Age", newline: true, type: "text" }, { display: "會(huì)員級(jí)別", name: "Grid", newline: true, type: "text", type: "text", validate: { required: true } }, { display: "邀請(qǐng)碼", name: "Code", newline: true, type: "text" } ], }); }); </script>
2.2注冊(cè)視圖的界面
六、為數(shù)據(jù)庫(kù)的表建立Model模型實(shí)體類(lèi),建立一個(gè)類(lèi)文件命名為User00.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Model { /// <summary> /// </summary> public class User00 { public int Id { get; set; } public string Name { get; set; } public string Grid { get; set; } public int Score { get; set; } public string Password { get; set; } public int Age { get; set; } public int Code { get; set; } } }
七、前文出現(xiàn)的Bll命名空間和類(lèi)Test00等一些代碼是引用了另外的庫(kù)。
1、目錄
2、其中文件Test00的代碼:
using Blocks.Data; using Blocks.Data.CustomType; using Blocks.Data.DbProviders.Oracle; using kaohe00.Mappings; using Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Bll { public class Test00 { /// <summary> /// 數(shù)據(jù)庫(kù) /// </summary> private Database oracle = null; public Test00(string connectionString) { this.oracle = new Database(new OracleDbProvider(connectionString)); this.oracle.Mappings(typeof(User00Mapping).Assembly); } public List<User00> GetList() //定義GetList函數(shù),其功能:獲得一個(gè)類(lèi)型是User00類(lèi)的列表相當(dāng)于數(shù)組 { var list = this.oracle.Select<User00>().ToList(); return list; } public int AddNew(User00 user00) { return this.oracle.Insert(user00); } public bool LoginTest(string Id,string Password) //函數(shù)功能:判斷前臺(tái)穿的值是否在數(shù)據(jù)庫(kù)中的 { // var search = this.oracle.Select<User00>(); // var list = search.Where(t => t.Id == int.Parse(Id)) && t.Password == Password; var search = this.oracle.Select<User00>().Where(t => t.Id == int.Parse(Id) && t.Password == Password); var list = search.ToList(); //list相當(dāng)于數(shù)組 if (list.Count > 0) //??!! { //var user = list.First(); return true; } else { return false; } } } }
3、其中的kaohe00.Mappings文件里的User00Mapping.cs的文件的代碼:
using Blocks.Data.Mapping; using Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace kaohe00.Mappings { public class User00Mapping : ClassMap<User00> { public User00Mapping() { Map(t => t.Id).AutoNumber(); Map(t => t.Name); } } }
八、設(shè)置路徑: defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional },使其先執(zhí)行Login。
九、查看效果:
1、點(diǎn)擊登錄后密碼錯(cuò)誤的情況:
或者
2、輸入正確的編號(hào)密碼,進(jìn)入主頁(yè)視圖界面
3、點(diǎn)擊注冊(cè)后進(jìn)入注冊(cè)視圖界面
4、在注冊(cè)界面輸入內(nèi)容,注冊(cè)失敗和成功的情況:
或者
注冊(cè)成功后點(diǎn)擊確定,進(jìn)入主頁(yè)視圖界面
可以看到主頁(yè)視圖界面新添加的信息
好了,關(guān)于mvc C# JavaScript LigerUI oracle實(shí)現(xiàn)用戶(hù)的注冊(cè)、登陸驗(yàn)證、登陸 的內(nèi)容就給大家介紹到這里,希望對(duì)大家有所幫助!
欄 目:C#教程
下一篇:C#利用原圖和水印圖的重疊簡(jiǎn)單實(shí)現(xiàn)水印的方法
本文標(biāo)題:mvc C# JavaScript LigerUI oracle實(shí)現(xiàn)用戶(hù)的注冊(cè)、登陸驗(yàn)證、登陸
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/6559.html
您可能感興趣的文章
- 01-10ASP.NET MVC命名空間時(shí)引起錯(cuò)誤的解決方法
- 01-10C#實(shí)現(xiàn)將javascript文件編譯成dll文件的方法
- 01-10C#利用delegate實(shí)現(xiàn)Javascript的each方法
- 01-10適用于WebForm Mvc的Pager分頁(yè)組件C#實(shí)現(xiàn)
- 01-10C# MVC模式下商品抽獎(jiǎng)功能實(shí)現(xiàn)
- 01-10基于mvc5+ef6+Bootstrap框架實(shí)現(xiàn)身份驗(yàn)證和權(quán)限管理
- 01-10BootStrap mvcpager分頁(yè)樣式(get請(qǐng)求,刷新頁(yè)面)
- 01-10C# MVC 微信支付教程系列之公眾號(hào)支付代碼
- 01-10C# MVC 微信支付教程系列之掃碼支付代碼實(shí)例
- 01-10js事件模型與自定義事件實(shí)例解析


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10C#通過(guò)反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁(yè)無(wú)法打開(kāi)的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過(guò)重寫(xiě)Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 04-02jquery與jsp,用jquery
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什