zoukankan      html  css  js  c++  java
  • Asp .net core 入门教程笔记记录一

    Asp .net core 入门教程笔记记录一

    通过官网学习ASP.NET Core文

    Web应用之RaZor页面

    版本Asp.net core 5.0

    Vs2019

     

    创建一个asp .net core 项目

    项目结构:
    Page文件夹:每一个Razor页面都是一对文件:
    一个.cshtml文件,其中包含使用Razor语法的C#代码的HTML标记

    一个.cshtml.cs文件,其中包含处理页面事件的C#代码

    Wwwroot文件夹

    包含一些静态资产,如HTML文件、JavaScript文件和css 文件

    Appsetting.json

    包含配置数据:如连接字符串。

    Program.cs

    包含应用的入口

    Startup.cs

    包含配置应用行为的代码

    添加模型

    将搭建“电影”模型的基架。 确切地说,基架工具将生成页面,用于对“电影”模型执行创建、读取、更新和删除 (CRUD) 操作。

    1. 在“解决方案资源管理器”中,右键单击“RazorPagesMovie”项目 >“添加” > “新建文件夹”。 将文件夹命名为“Models”。
    2. 右键单击“Models”文件夹。 选择“添加” > “类” 。 将类命名“Movie”。
    3. 向 Movie 类添加以下属性:

    搭建模型的基架

    1. 创建“Pages/Movies”文件夹:
      1. 右键单击“Pages”文件夹 >“添加”>“新建文件夹”。
      2. 将文件夹命名为“Movies”。
    2. 右键单击“Pages/Movies”文件夹 >“添加”>“新搭建基架的项目”。

    使用 EF 的迁移功能创建初始数据库架构

    Add-Migration InitialCreate

    Update-Database

    Razor 页面派生自 PageModel。 按照约定,PageModel 派生的类称为 <PageName>Model。 此构造函数使用依赖关系注入将 RazorPagesMovieContext 添加到页面:

    C#复制

    public class IndexModel : PageModel

    {

        private readonly RazorPagesMovie.Data.RazorPagesMovieContext _context;

        public IndexModel(RazorPagesMovie.Data.RazorPagesMovieContext context)

        {

            _context = context;

        }

    当 OnGet 返回 void 或 OnGetAsync 返回 Task 时,不使用任何返回语句。 

    当返回类型是 IActionResult 或 Task<IActionResult> 时,必须提供返回语句。

    使用数据库

    在 Startup.cs 的 ConfigureServices 方法中向依赖关系注入容器注册数据库上下文:

    public void ConfigureServices(IServiceCollection services)

    {

        services.AddRazorPages();

        services.AddDbContext<RazorPagesMovieContext>(options =>

          options.UseSqlServer(Configuration.GetConnectionString("RazorPagesMovieContext")));

    }

    在Program.cs中

      var host = CreateHostBuilder(args).Build();

     

                using (var scope = host.Services.CreateScope())

                {

                    var services = scope.ServiceProvider;

     

                    try

                    {

                        SeedData.Initialize(services);

                    }

                    catch (Exception ex)

                    {

                        var logger = services.GetRequiredService<ILogger<Program>>();

                        logger.LogError(ex, "An error occurred seeding the DB.");

                    }

                }

     

                host.Run();

    • 从依赖注入容器中获取数据库上下文实例。
    • 调用 seedData.Initialize 方法,并向其传递数据库上下文实例。
    • Seed 方法完成时释放上下文。 using 语句将确保释放上下文。

    var context = new RazorPagesMovieContext(

                    serviceProvider.GetRequiredService<

                        DbContextOptions<RazorPagesMovieContext>>())

    根据文档自己慢慢操作搭建起该Demo发布在自己的iis服务器上

    Demo运行地址:http://42.194.219.152:8022/Movies

  • 相关阅读:
    AD9 如何画4层pcb板
    在Altium Designer 2009下如何添加Logo图
    [置顶] 整数拆分 整合算法
    altium designer 中的top/bottom solder和top/bottom paste mask
    vs2012 与 win7 不兼容的问题
    poj1742 Coins
    poj3181 Dollar Dayz
    poj1065 Wooden Sticks
    poj1631 Bridging signals
    poj3666 Making the Grade
  • 原文地址:https://www.cnblogs.com/Vinkong/p/14348832.html
Copyright © 2011-2022 走看看