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" %>
展示数据
<table id="tb" style="width:90%;background-color:navy;margin:auto;text-align:center;">
<tr style="color:white;">
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>出生日期</td>
<td>电话</td>
<td>邮箱</td>
<td>民族</td>
<td>地区</td>
<td>操作</td>
</tr>
<%
List<Users> ulist = new UsersData().select();
foreach (Users u in ulist)
{
%>
<tr class="tr_item" style="background-color:white;<%=u.sexstr %>">
<td><%=u.UserName %></td>
<td><%=u.PassWord %></td>
<td><%=u.NickName %></td>
<td><%=u.Sex?"男":"女" %></td>
<td><%=u.Birthday.ToString("yyyy年MM月dd日") %></td>
<td><%=u.phone %></td>
<td><%=u.email %></td>
<td><%=u.Nation1.Nationname %></td>
<td><%=u.Areastr %></td>
<td>
<a href="delete?name=<%=u.UserName %>" class="delete">删除</a>
<a class="update" href="updateusers?name=<%=u.UserName %>">修改</a>
</td>
</tr>
<% } %> </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();
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(-);
return RedirectToAction("Login0","Login");
}
(2)提示错误
使用Session["insertusers"]视图层对其判断
<%
if (Session["LoginOK"] == "")
{
%>
<span style="color:red;font-size:18px;margin-left:50px;">用户名不存在!</span><br />
<%
}
if (Session["LoginOK"] == "")
{%>
<span style="color: red;font-size:18px;margin-left:50px;">密码错误!</span><br />
<% }
Session["LoginOK"] = null;
}%>
MVC 基础和增删改、登录的更多相关文章
- MVC3+EF4.1学习系列(二)-------基础的增删改查和持久对象的生命周期变化
上篇文章中 我们已经创建了EF4.1基于code first的例子 有了数据库 并初始化了一些数据 今天这里写基础的增删改查和持久对象的生命周期变化 学习下原文先把运行好的原图贴来上~~ 一.创建 ...
- EasyUI + Spring MVC + hibernate实现增删改查导入导出
(这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...
- 【ASP.NET MVC】jqGrid 增删改查详解
1 概述 本篇文章主要是关于JqGrid的,主要功能包括使用JqGrid增删查改,导入导出,废话不多说,直接进入正题. 2 Demo相关 2.1 Demo展示 第一部分 第二部分 2.2 ...
- week_one-python基础 列表 增删改查
# Author:larlly #列表增删改查#定义列表name = ["wo","ni","ta","wo"] #定义 ...
- mysql 的安装,密码及修改 ,权限,基础语句(增删改查)
参考网址:https://www.cnblogs.com/majj/p/9160383.html (安装等) https://www.cnblogs.com/majj/p/9160421.htm ...
- EasyUI +MVC +EF实现增删改查
OA项目的框架已经搭建好了,接下来就是在这个框架下完成相应的业务的编码,接下来实现UserInfo页面的增删改查. 1.首先先谈一下遇到的一个框架上的问题:提示EF版本不一致之类的问题,主要是解决方案 ...
- 六:MVC数据建模(增删改查)
今天我们来学习mvc增删改查等操作(试着结合前面学习的LINQ方法语法结合查询) 我创建了一个car的数据库,只有一个Cars表 表里面就几个字段 插入了一些数据 想要创建一个ADO.NET实体数据模 ...
- 使用jdbc实现简单的mvc模式的增删改查
Mvc模式设计: 视图:添加界面(addUser.jsp),修改界面(updateUser.jsp),显示页面(allUser.jsp) 控制器:添加信息控制器(AddUserServlet),修改信 ...
- SSM-MyBatis-02:Mybatis最基础的增删改查(查全部和查单独一个)
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 继续上次的开始,这次记录的是增删改查,上次重复过的代码不做过多解释 首先先创建mysql的表和实体类Book ...
随机推荐
- 【javascript 进阶】异步调用
前言 javascript的中的异步是很重要的概念,特别是ajax的提出,给整个web带来了很大的影响,今天就介绍下javascript的异步编程. 同步与异步 何为同步?何为异步呢? 同步:说白了就 ...
- CRM 启用或禁用自定义代码执行
启用自定义代码执行 1.打开 Windows PowerShell 命令窗口. 2.添加 Microsoft Dynamics 365 PowerShell 管理单元: Add-PSSnapin Mi ...
- Activiti开启SQL Log
log4j.logger.org.activiti.engine.impl.persistence.entity=trace
- OpenCV配置经历简述
关于OpenCV的配置过程在这里做一简述和记录. 配置的是OpenCV2.2.0,环境为VS2010. 首先在OpenCV官网(http://opencv.org/downloads.html)下载了 ...
- PSP(11.2~11.9)
5号 类别c 内容c 开始时间s 结束e 中断I 净时间T GUI 学习QT视频 9:00 10:10 0m 70m 复习 软件工程 10:10 11:10 10 50m 复习 软件工程 14:20 ...
- 【转】HTML5 jQuery图片上传前预览
hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images,本例子主要是使用HTML5 的File API,建立一個可存取到该 file的url,一个空的img标签,ID为img0,把选 ...
- 一次Oracle 11g+FluentNHibernate AutoMapping组合尝试
本文的上下文环境 操作系统:Win7 x64 Ultimate开发工具:Visual Studio 2013 一.前言 在以前开发的大多数场景下,使用的开发语言是C#,使用的数据库是Sql Serve ...
- java.lang.OutOfMemoryError: Java heap space解决办法
进入到tomcat/bin目录下,编辑catalina.bat,在这个文件最前面加入一句:set JAVA_OPTS=-Xms384m -Xmx384m 保存退出,重启tomcat服务即可. 该异常应 ...
- 2016-11-10:win7下VMware虚拟机中CentOS6.5网络配置
在win7环境下,使用桥接和NAT模式配置VMware虚拟机网络,实现宿主机与虚拟机以及虚拟机通过宿主机网卡访问互联网. 1 配置VMware虚拟网络编辑器 VMnet0 桥接模式 VMnet1仅主机 ...
- Monkey基础
一.Monkey工具简介 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序 ...