概念记录

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

推荐阅读更多精彩内容