新建--项目--ASP.NET MVC 4 WEB 应用程序

MVC:

M--Model  模型层     放置数据访问类,linq

V--View  视图层       界面层   aspx文件。只有一个页面文件,没有C#代码文件  ,那怎么执行?

<%@ %>引用命名空间

<% %>在此区域里嵌所有C#代码

<%@ %>输出一个变量的值

C--Control  控制层   添加-控制器--

C层:由控制器及控制器中的动作所组成,MVC请求不是直接对页面,而是对控制器中的某个动作发送请求

默认返回  Home控制器下的Index动作

如果有请求的控制器,没有请求动作。那么会默认返回

数据展示:

namespace mvc1.Controllers
{
public class HomeController : Controller
{ //动作
public string Index()
{
return "hole word";
}
public string Other1()
{
return "<html><head></head><body><h1>"+DateTime.Now+"<h1></body></html>";
}
}
}

qidian1Controller.cs:

namespace mvc1.Controllers
{
public class qidianController : Controller
{ public string Index()
{
StringBuilder ss = new StringBuilder();
using (DataClasses1DataContext con = new DataClasses1DataContext())
{
List<Users> ulist = con.Users.ToList();
foreach(Users u in ulist)
{
ss.Append(u.NickName+"|");//追加
}
}
return ss.ToString();
}
public ActionResult other1()//添加视图--右键第一个(会出现一个html:other1.aspx)
{
return View();
}

other1.aspx:

<%@ Import Namespace="mvc1.Models" %>    <%--引用命名空间--%>

<!DOCTYPE html>

<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>other1</title>
</head>
<body>
<div>
<h1>这是视图产生出的页面</h1>
<table>
<tr>
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
</tr>
<% List<Users> ulist = new UsersData().Select();//在model里添加一个类,来这调用
foreach(Users u in ulist)
{
%> <tr>
<td><%=u.UserName %></td>
<td><%=u.Password %></td>
<td><%=u.NickName %></td>
<td><%=Convert.ToBoolean(u.Sex)?"男":"女" %></td>
<td><%=u.Birthday.Value.ToString("yyyy年MM月dd日") %></td>
<td><%=u.Nation1.NationName %></td>
</tr>
<% } %>
</table>
</div>
UsersData类:

namespace mvc1.Models
{
public class UsersData
{ DataClasses1DataContext con = null;
public UsersData()
{
con = new DataClasses1DataContext();
}
public List<Users> Select()
{
return con.Users.ToList();
}
}

添加:

添加控制器,添加一个动作(视图Insert()),--添加视图(写添加界面)--保存按钮:加一个动作Insert1(),接收内容:1、组对象2、往数据库添加数据3、返回展示页面 RedirectToAction()

<body>
<form action="insert1" method="post">
<h1>添加页面</h1><%--name--%>
用户名:<input type="text" name="username"/><br /><br /> 密码:<input type="text"/ name="password"><br /><br />
昵称:<input type="text" name="nickname" /><br /><br />
性别:<input type="text" name="sex"/><br /><br />
生日:<input type="text" name="birthday"/><br /><br />
民族:<input type="text" name="nationcode"/><br /><br />
<input type="submit" value="保存"/>
</form>
</body>
        public ActionResult Insert()//添加页面
{
return View();
} public ActionResult insert1(string username,string password,string nickname,bool sex,DateTime birthday,string nationcode)//添加保存按钮,传值
{
Users u = new Users();
u.UserName = username;
u.Password = password;
u.NickName = nickname;
u.Sex = sex;
u.Birthday = birthday;
u.NationCode = nationcode;
new UsersData().Insert(u);//models里写方法直接来调用
return RedirectToAction("Index","Home");//添加完了,再跳回显示页面
}

删除:

 <td>
<a href="Home/Update/<%=u.UserName %>">修改</a>
<a href="Home/Delete/<%=u.UserName %>">删除</a><%--用这个方式传值--%>
</td>
    public ActionResult Delete(string id)//获取值
{
new UsersData().Delete(id);//uname是靠id这个路由传过来的
return RedirectToAction("Index");
}

修改:

 <form action="/Home/Update1" method="post">

        <%
Users u = ViewBag.hehe as Users; if (u != null)
{
%> <h1>修改页面</h1>
用户名:<input type="text" name="username" value="<%=u.UserName %>" /><br />
<br />
密码:<input type="text" name="password" value="<%=u.Password %>" /><br />
<br />
昵称:<input type="text" name="nickname" value="<%=u.NickName %>" /><br />
<br />
性别:<input type="text" name="sex" value="<%=u.Sex %>" /><br />
<br />
生日:<input type="text" name="birthday" value="<%=u.Birthday %>" /><br />
<br />
民族:<input type="text" name="nationcode" value="<%=u.NationCode %>" /><br />
<br />
<input type="submit" value="保存" />
<%
}
else
{
%>
<h1>未查到学生信息!</h1>
<%
}
%>
</form>
  public ActionResult Update(string aa)
{
Users uu = new UsersData().Select(aa);
ViewBag.hehe = uu;//获取数据传递。数据包
return View();
}
public ActionResult Update1(Users u)//返回一个对象
{
new UsersData().Update(u);
return RedirectToAction("Index");//跳回主页面
}

MVC开发基础的更多相关文章

  1. 自学MVC开发基础

    由于现在面试需求,我必须有点了解MVC开发基础,MVC是一个开发框架或者是一个开发模式,MVC让软件开发的过程大致切割成三个单元,分别是:Model(模型).View(试图).Controller(控 ...

  2. ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器

    一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据 ...

  3. ASP.Net MVC开发基础学习笔记(4):校验、AJAX与过滤器

    一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据 ...

  4. ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  5. ASP.Net MVC开发基础学习笔记(1):走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  6. ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

    一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归. ...

  7. ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

    一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留 ...

  8. ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步

    一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...

  9. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...

  10. ASP.Net MVC开发基础学习笔记(3):Razor视图引擎、控制器与路由机制学习

    一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留 ...

随机推荐

  1. Docker Registry服务启动过程浅析

    当我们pull一个registry镜像或者自己制作一个镜像之后,使用命令docker run -d -p 5000:5000 registry,就可以启动一个私有容器服务,那么究竟是怎么做到的呢? 首 ...

  2. PHP空数组转化为json对象的问题

    例子: $a = []; echo json_encode($a); echo json_encode($a, JSON_FORCE_OBJECT); 输出结果: [] {}

  3. Ubuntu 13.10看视频休眠

    cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla[ ...

  4. OAF_文件系列11_实现OAF读写Excel包JXL和POI的区别(概念)

    20150803 Created By BaoXinjian

  5. 百度地图API功能集锦

    1.点个数太多导致加载缓慢的解决. 2.可视化区域内加载的解决. 3.自定义信息窗口解决. 4.区域/板块/商圈等的绘制功能解决. 基本包含了用到百度地图API会使用到的大部分常规性场景.(聚合点功能 ...

  6. oledbdataadapter 读取excel数据时,有的单元格内容不能读出

    表现:excel中某列中,有的单元格左上角有绿色箭头标志,有的没有,c#编写读取程序,但是只能读取出带绿色箭头的单元格中的内容,其余不带的读取不到内容 原因:excel中单元格因为是文本格式而存储了数 ...

  7. Nginx跨域配置方法

    配置文件如下,重点在49~52行 #user nobody; worker_processes ; #error_log logs/error.log; #error_log logs/error.l ...

  8. JS技术大全(防止复制,粘贴等)

    1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu ...

  9. Python基础篇【第3篇】: Python异常处理、反射、动态导入、利用反射的web框架

    异常处理 什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常.异常是Python对象,表示一个错误.当P ...

  10. sql语句-ALTER TABLE

    在工作中常遇到要维护数据库表的列,这里主要介绍sql语句中的ALTER TABLE 语句.ALTER TABLE 语句用于在已有的表中添加.修改或删除列. 如需在表中添加列,请使用下列语法: ALTE ...