我们一起来学习Asp.NET Core MVC 第二篇 Core基础篇 Razor Pages介绍

2021/11/23 12:10:06

本文主要是介绍我们一起来学习Asp.NET Core MVC 第二篇 Core基础篇 Razor Pages介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

    前言   要熟练使用Core平台开发项目,必先熟悉一种新的Webs页面即Razor Pages,Razor Pages是一种包含C#代码的web页面,服务后端包含Models,前端包含C#,相当于简化了Controllers的MVC Views页面。

  Razor Pages页面特点如下:
  1,文件名首位不能是下划线
  2,文件扩展名为.cshtml
  3,文件的第一行是 @page
  4,Razor代码块被@{ }包裹,内部为标准C#代码。
  5,PageModel,推荐使用页面模型,页面模型通过 @model 模型名称 引入页面中。

     学些目标:

  1,创建Razor Pages 项目、了解常用的Nuget包
  2,了解Razor Pages基本的页面组成
  3,与Sqlserver数据库交互完成CRUD操作
  4,Razor Pages搜索、验证等操作。

    准备工具:

  Vs2017以上的版本和Sqlserver2008以上版本

    一、创建Razor Pages

  在Vs中新建一个项目名称为RazorPages项目,项目类型选择“Asp.Net Core Webs应用”,目标框架选择“.Net Core 3.1”。

 

 

 

 

 

  Core下基本的Razor Pages框架目录如下,页面默认在Pages文件夹里,wwwroot文件夹存储Css和Js页面样式文件,“appsettings.json”为生成部署文件,“Program.cs”中的main函数是主程序的入口,“Startup.cs”中配置Sql连接,路由注册服务等后面会详细讲到,(关注@高山流水学编程不迷路)

 Razor Pages页面内容格式如下:

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>

    二、为Razor添加Models模型,模型类名称为UserData。操作步骤:右键点击解决方案“RazorPages”,添加Models文件夹,然后右键点击“Models”文件夹添加一个“UserData.cs”的类文件,如下图所示。

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;

namespace RazorPages.Models
{
    public class UserData
    {
        [Key, Column(Order = 1)]
        public int UserId { get; set; }
        public string UserName { get; set; }
        public string Password { get; set; }
    }
}

 

 

 

     三、使用Vs实体框架生成Razor页面(CRUD)   

  首先右键点击Pages文件夹,在它下面添加一个“Users”文件夹,右键点击“Users”,依次点击“添加”->“新搭建基架的项目”->"使用实体框架生成Razor Pages页面(CRUD)"

        

 

选择模型类

 

 

   注意在生成的结果中报错,提示缺少依赖的NuGet包可以点击通过右键点击“项目资源”,“”管理NuGet程序包”来添加。在右侧选择安装,安全前注意选择对应的版本,比如:Core3.1选择Sql数据包版本最好选择3.0,详细官网有介绍。

 

 

   常用的几个NuGet数据包如下:

    Microsoft.EntityFrameworkCore.SqlServer(选择版本:V3.0)   ==> Sqlserver数据库连接使用
    Microsoft.EntityFrameworkCore.Tool(选择版本:V3.0)            ==> 完成Sqlserver数据CRUD
    EntityFramework.SqlServerCompact (选择版本:V4.1)           ==> Sqlserver数据库操作和交互

      下面是非常重要的三步:一是在Startup.cs中注册如下ConfigureServices的服务(如果系统已生成,不用添加),二是在appsettings.json文件中添加Sqlserver数据库连接字符串。如下所示

       注意:Startup.cs中“GetConnectionString("MVCSqlContext")”方法名称与appsettings.json中的ConnectionStrings": {"MVCSqlContext": }名称一致。

public void ConfigureServices(IServiceCollection services)
        {
            services.AddRazorPages();

            services.AddDbContext<RazorPagesContext>(options =>
                    options.UseSqlServer(Configuration.GetConnectionString("MVCSqlContext")));
        }
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "MVCSqlContext": "Server=localhost;Database=InfoUser;User ID=sa;Password=sa;"
  }
}

    第三步,在Startup.cs文件中添加Users路由路径

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using RazorPages.Data;

namespace RazorPages
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddRazorPages();

            services.AddDbContext<RazorPagesContext>(options =>
                    options.UseSqlServer(Configuration.GetConnectionString("MVCSqlContext")));
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
            });
        }
    }
}

 

 

生成解决方案后,点击“”在浏览器中运行程序,在网址后面输入Users,运行节目如下:

 



这篇关于我们一起来学习Asp.NET Core MVC 第二篇 Core基础篇 Razor Pages介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程