我们一起来学习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介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具