1.查找路由方式:Controller - Action
2.debug及运行
f5 开始这个项目,并可以debug
ctrl + f5 开始,不debug
ctrl shift B 编译
ctrl-f5 修改代码 ctrl-sht-b f5
ctrl-f5 想debug ctrl-alt-p 运行环境vs-attach iis 进程 f5进行执行
3.带参数访问:
public string welcome(string name){}
url: localhost/hello/welcome?name=jikexueyuan
4.对用户输入进行编码
- HttpUtility.HtmlEncode(name)
- Server.HtmlEncode(name)
5.参数带default值
welcome(string name="jiekexueyuan")
6.Razor引擎功能:在HTML页面写c#语法
//view 文件
@{
C# 语法
}
HTML语法
7.Razor注释
1.@* 这里是注释 *@
2./* 这里是注释 */
8.Razor语法(3种)
1.一句话,声明一个变量
@{var total = 7;}
2.<!-- Inline -->inline调用
<p>the value of total: @total </p> 直接在HTML里调用变量
3.一段C#语句
@{
}
9.controller -> view传递数据
借助一个ViewBag参数包,
实现方式:在controller里定义参数、数据,然后打包给ViewBag,再在View里调用该参数
绝对禁止,避免,在view里逻辑计算和访问数据库
实现方式代码表现:
//Controller
ActionResult Welcome(string name="Hello world",int numTime=1)
{
ViewBag.Message = "Hello" + name;
ViewBag.NumTimes = numTimes;
return view();
}
//View
<ul>
@for(int i=0;i<ViewBag.NumTimes;i++)
{
<li>@ViewBag.Message;</li >
}
</ul>
10.Model:处理数据模型,和数据库打交道
11.EntityFramework实现方式
- 顶层设计:设计角度
- 数据库存在:DBFirst
- 数据库不存在:ModelFirst
- 代码优先:CodeFirst 可以实现在数据库存在或者不存在的情况下使用
Model->class
public class Movies
{
public int ID{get;set;}
public string Title{get;set;}
public DateTime ReleaseDate{get;set;}
public string Genre{get;set;}
public decimal Price{get;set;}
}
public class MovieDBContext : DbContext //->EntityFrameWork管理数据连接,引入命名空间
{
public DbSet<Movies> Movie{get;set;}
//泛型,建立多个Movies类型的Movie,可能有错,待检验
}
12.数据库LocalDB
1.在webconfig 添加连接字符串
2.controller,新建MVC5 Controller with views,using Entity Framework
3.然后在url里访问该 controller/action