zoukankan      html  css  js  c++  java
  • ASP.NET Core入门系列教程

    微软把这个新的框架叫:Razor Pages,以下文中我们将频繁提及—Razor Pages。

    项目目录结构


    wwwroot静态资源文件夹
    首先,Razor Pages项目中多了一个wwwroot的文件夹,这个文件夹中,主要存放网站的静态资源,如:
        css:网站样式文件
        images:网站图片资源文件
        js:网站javascript脚本文件
        lib:每三方的js库等
        favicon.ico: 网站的图标
        
    其次,Razor Pages项目中,没有了Global.asax以及Web.config这样的文件,但多了几个其他主要的文件,它们分别为:
    appsetting.json
    appsetting.json:应用程序配置文件,类似于ASP.NET应用程序中的Web.config配置文件。

    Program.cs
    Program.cs:这是.NET Core的程序入口文件,其他包含了一个程序的入口方法:public static void Main(string[] args)

    Startup.cs
    Startup.cs: .NET Core应用程序启动配置项目文件,在.NET Core CLI命令行工具或者Visual Studio为我们创建好ASP.NET Core应用程序之后,程序入口文件Program.cs会默认调用Startup.cs类中的ConfigureServices 和 Configure 方法,以初始化程序的各种配置。

    Pages 文件夹
    Pages目录为默认文档路径,这是 Razor Pages项目中的约定,对于 /Home/Index 这个页面来说,它对应的是 Pages 文件夹中的 Index.cshtml 这个视图文件。其中,我们还看到一个 Index.cshtml.cs 的文件,这个文件是用来后端编码的,类似于我们传统 Webform 中的 .aspx.cs 文件。

    母版页与启动页

    _ViewStart.cshtml
    _ViewStart.cshtml 是整个项目页面渲染的启动视图,我们可以在此视图中指定项目的默认视图母版页面是哪个。

    _Layout.cshtml
    _Layout.cshtml 是整个Razor Pages 项目的默认母版页,如果项目中存在 _Layout.cshtml 这个视图母版页,则在页面没有特别指定 Layout属性的情况下,会调用此母版页。

    _ViewImports.cshtml
    _ViewImports.cshtml 用于导入项目或者子视图文件夹中的默认资源,以方便统一维护和管理等。

    Razor 语法
    Razor 支持 C#,并使用 @ 符号从 HTML 转换为 C#。 Razor 计算 C# 表达式,并将它们呈现在 HTML 输出中。当 @ 符号后跟 Razor 保留关键字时,它会转换为 Razor 特定标记。 否则会转换为纯 C#。

    数据库
    1、Models文件夹。在弹出菜单中选择,添加-->类。类名为Hello
    using System;
    namespace RazorHello.Models
    {
        public class Hello
        {
            public int ID { get; set; }
            public string Name { get; set; }
        }
    }

    2、Models文件夹中添加HelloContext.cs类,继承自DbContext,操作方式如上第2点中的图所示,代码如下:
    using Microsoft.EntityFrameworkCore;
    namespace RazorHello.Models
    {

        public class HelloContext:DbContext
        {
            public HelloContext(DbContextOptions<HelloContext> options): base(options)
            {

            }
            public DbSet<Hello> Hello { get; set; }
        }
    }

    3、数据库上下文(DbContext)是在startup.cs文件的configureservices方法中向依赖关系注入容器注册,代码如下:
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<Model.TEST>(options =>options.UseSqlServer(Configuration.GetConnectionString("DbContext")));
        services.AddMvc();
    }

    4、ASP.NET Core 配置系统会读取数据库连接字符串。 为了进行本地开发,它会从 Appsettings.json 文件获取数据库连接字符串,数据库连接配置如下:
    "ConnectionStrings": {
        "DbContext": "Server=.\sqlexpress;Database=CustomDB;Trusted_Connection=True;MultipleActiveResultSets=true"
    }

    5、保存数据
    using Microsoft.AspNetCore.Mvc.RazorPages;
    using System;

    namespace AppDbContext
    {
        public class CreateModel : PageModel
        {
            private readonly AppDbContext _db;

            public CreateModel(AppDbContext db)
            {
                _db = db;
            }

            [BindProperty]
            public Model.Hello model { get; set; }
            public async Task<IActionResult> OnPostAsync()
            {
                if (!ModelState.IsValid)
                {
                    return Page();
                }

                _db.Customers.Add(model);
                await _db.SaveChangesAsync();
            }
        }
    }

  • 相关阅读:
    Python推导式(Comprehension)
    mysql中文乱码
    入门学习hibernate
    什么是ORM?
    Java网站中的权限管理
    Java的8中基本数据类型
    Python获取文件夹大小
    Python技巧
    Python中取整的方法floor,ceil,round
    Python线程join和setDaemon
  • 原文地址:https://www.cnblogs.com/sntetwt/p/9481544.html
Copyright © 2011-2022 走看看