MVC 基础和增删改、登录
来源:互联网 发布:淘宝运动服童装 编辑:程序博客网 时间:2024/06/10 14:55
园龄:7个月
粉丝:3
关注:0
MVC 基础和增删改、登录
一、什么是MVC?
1、了解
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
2、创建视图引擎:ASPX的MVC
文件--新建--项目--ASP.NET MVC 4 Web应用程序--命名--确定--选择模板:空--视图引擎:ASPX
3、MVC三层
(1)Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
(2)View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
(3)Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
4、控制层
(1)添加控制器
找到Controllers文件夹右键添加控制器,命名:HomeController,不要少Controller
(2)动作Action
public string one() { return "您好!!"; }
5、控制层与视图层
(1)控制层链接视图层
public ActionResult Index(){ return View();}
(2) 添加视图
在“return View();”上右键添加视图,选择ASPX,其余都不选
6、控制层与模型层
(1)在Models文件夹创建Linq,创建数据访问类
(2) 控制层联系模型层
public string two() { string end = ""; List<Users> ulist = new UsersData().select(); foreach(Users u in ulist) { end += u.UserName; end += "\t"; } return end; }
7、模型层与视图层
(1)视图层放C#代码
<% %>放C#代码
<%@ %>引用命名空间,声明语言
<%= %>输出一个变量或字段
(2)引用命名空间
<%@ Import Namespace="基础.Models" %>
展示数据
1 <table id="tb" style="width:90%;background-color:navy;margin:auto;text-align:center;"> 2 <tr style="color:white;"> 3 <td>用户名</td> 4 <td>密码</td> 5 <td>昵称</td> 6 <td>性别</td> 7 <td>出生日期</td> 8 <td>电话</td> 9 <td>邮箱</td>10 <td>民族</td>11 <td>地区</td>12 <td>操作</td>13 </tr>14 <%15 List<Users> ulist = new UsersData().select();16 foreach (Users u in ulist)17 {18 %>19 <tr class="tr_item" style="background-color:white;<%=u.sexstr %>">20 <td><%=u.UserName %></td>21 <td><%=u.PassWord %></td>22 <td><%=u.NickName %></td>23 <td><%=u.Sex?"男":"女" %></td>24 <td><%=u.Birthday.ToString("yyyy年MM月dd日") %></td>25 <td><%=u.phone %></td>26 <td><%=u.email %></td>27 <td><%=u.Nation1.Nationname %></td>28 <td><%=u.Areastr %></td>29 <td>30 <a href="delete?name=<%=u.UserName %>" class="delete">删除</a>31 <a class="update" href="updateusers?name=<%=u.UserName %>">修改</a>32 </td>33 </tr>34 <% } %>35 36 </table>
二、MVC增删改
1、添加
(1)视图层:
<form name="form1" action="insert1" method="post"> <h2> 人员信息添加</h2> 用 户 名:<input id="Text1" name="usersname" type="text" /> <input id="Submit1" type="submit" value="添加" /> </form>
注意:(1)加上form表单 action="insert1" method="post" 不可少
(2)标签加上name
(2)控制层:
//添加 public ActionResult insert1(string usersname) //括号内放标签的name { Users u = new Users(); u.UserName = usersname; new UsersData().insert(u);//调方法添加 return RedirectToAction("Index2");//跳转到主页 }
2、删除
(1)视图层:
<a href="delete?name=<%=u.UserName %>" class="delete">删除</a>//可使用路由传值和问号传值
(2)控制层
public ActionResult delete() { string s=Request["name"];//取出传过来的值 new UsersData().delete(s); return RedirectToAction("Index2"); }
3、修改
(1)往视图层传值
//跳转到修改页面 public ActionResult updateusers() { string s = Request["name"]; Users u = new UsersData().select(s); ViewBag.ha = u;//传值 return View(); }
(2)视图层
<% Users u=ViewBag.ha as Users;%>//视图层接收值
<input id="Hidden1" type="hidden" name="usersname" value="<%=u.UserName %>" />
用 户 名:<span style="color:black;font-size:19px;"><%=u.UserName %></span>
注意:用户名不可更改,标签不用text,使用隐藏域和span
4、路由传值和问号传值
(1)路由传值
控制器的名字必须是Home,用id接收
<a class="update" href="updateusers/<%=u.UserName %>">修改</a>
(2)问号传值,用string s = Request["name"];接收
<a class="update" href="updateusers?name=<%=u.UserName %>">修改</a>
三、登录
(1)状态保持
public ActionResult Login1(string usersname, string password) { Users u = new UsersData().select(usersname); if (u != null) { if (u.PassWord == password) {//Cookies传值并保持状态 Response.Cookies["user"].Value = usersname; Response.Cookies["user"].Expires = DateTime.Now.AddDays(7); return RedirectToAction("Index", "Home"); } else { return RedirectToAction("Login0", "Login"); } } else { return RedirectToAction("Login0", "Login"); } }
public ActionResult Index() { if (Request.Cookies["user"] != null) return View(); else return RedirectToAction("Login0", "Login"); }
//退出 public ActionResult Exit() { Response.Cookies["user"].Expires = DateTime.Now.AddDays(-10); return RedirectToAction("Login0","Login"); }
(2)提示错误
使用Session["insertusers"]视图层对其判断
<% if (Session["LoginOK"] == "0") { %> <span style="color:red;font-size:18px;margin-left:50px;">用户名不存在!</span><br /> <% } if (Session["LoginOK"] == "1") {%> <span style="color: red;font-size:18px;margin-left:50px;">密码错误!</span><br /> <% } Session["LoginOK"] = null; }%>
» 下一篇:MVC Razor语法
- MVC 基础和增删改、登录
- 二、spring mvc模拟用户增删改查以及登录和上传文件的相关流程
- MVC 增删改查
- MVC+jQuery.Ajax异步+增删改查和分页
- Struts2+hibernate实现用户登录和增删改查案例
- Struts2+hibernate实现用户登录和增删改查案例
- Struts2+hibernate实现用户登录和增删改查案例
- MVC Demo 增删查改
- JDBC增删改查MVC
- MVC初探 增删改查
- MVC实现增删查改
- mvc增删改+EasyUI+Ajax
- EasyUi+mvc增删改查
- ubuntu基础(用户和组的增删改查)
- C# SQL数据库的基础增删改查和事务
- SQL基础语法(增删改查)和基本函数
- oracle增删改查基础语句和代码例子
- 基础级-增删改查
- Java中this和super的用法
- 287. Find the Duplicate Number
- PIC单片机-利用Timer2定时器的溢出中断实现动态扫描数码管
- 第五次CSS作业
- 2.1 493. Reverse Pairs (Divide and Conquer)
- MVC 基础和增删改、登录
- 不使用库函数 字符串与整型 转换
- 第六第七次css作业 企业站
- 基于IjkPlayer的视频播放器
- PIC单片机-AD转换
- (13)Air Band OpenCV2.4.13_改变图像对比度和亮度
- codeforces 551b[补]
- [.NET] RabbitMQ 的行为艺术
- http协议
【推荐】Google+GitHub联手打造前端工程师课程
【推荐】票选最美云上大数据暨大数据技术峰会
· 诺基亚复活老经典机型,葫芦里究竟卖的什么药?
· 百度正洽谈投资蔚来汽车 老股东也想跟投
· 拉卡拉递交创业板IPO申请 去年营收超20亿元
· Facebook:Messenger聊天机器人以后不会再唠叨个没完
· 阿里巴巴1.77亿美元投资印度支付工具Paytm旗下电商平台
» 更多新闻...
· 「代码家」的学习过程和学习经验分享
· 写给未来的程序媛
· 高质量的工程代码为什么难写
· 循序渐进地代码重构