Razor Pages Web应用

目录

 1、 新建文件

 2、 信任HTTPS开发证书

 3、 检查项目文件

 4、 新建名为 Models 的文件夹,并添加名为Movie.cs类

 5、 添加Nuget包和EF工具

 6、 搭建基架

 7、 数据库环境

 8、 EF迁移

 9、 生成应用

10、测试应用

11、设定数据库数据

12、添加搜索

13、添加验证


1、新建文件

打开集成终端,输入以下命令

dotnet new webapp -o RazorPagesMovie
code -r RazorPagesMovie

2、信任HTTPS开发证书

终端输入:

dotnet dev-certs https --trust

3、检查项目文件

4、新建名为 Models 的文件夹,并添加名为Movie.cs类

5、添加Nuget包和EF工具

终端输入:

dotnet tool uninstall --global dotnet-aspnet-codegenerator
dotnet tool install --global dotnet-aspnet-codegenerator
dotnet tool uninstall --global dotnet-ef
dotnet tool install --global dotnet-ef
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.SQLite
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet add package Microsoft.EntityFrameworkCore.SqlServer

6、搭建基架

(执行创建、读取、更新和删除 ,CRUD 操作)

终端输入:

dotnet-aspnet-codegenerator razorpage -m Movie -dc RazorPagesMovieContext -udl -outDir Pages/Movies --referenceScriptLibraries -sqlite

获取 dotnet-aspnet-codegenerator razorpage 命令方面的帮助:

dotnet-aspnet-codegenerator razorpage -h

7、数据库环境

SQLite 是一个 C 语言库,它实现了一个 小型、 快速、 自包含、 高可靠性、 全功能的 SQL 数据库引擎。SQLite 是世界上使用最多的数据库引擎。

SqlServer常规数据库(此处不用)

 8、EF迁移

终端输入:

dotnet tool install --global dotnet-ef
dotnet ef migrations add InitialCreate
dotnet ef database update

9、生成应用

解决方案中删除以下代码,为消除“可为空引用类型的警告”

<Nullable>enable</Nullable>

10、测试应用

F5运行应用,进入主页测试

 测试CRUD功能,是否实现

 11、设定数据库数据

使用以下代码在 Models 文件夹中创建一个名为 SeedData 的新类:

using Microsoft.EntityFrameworkCore;

namespace RazorPagesMovie.Models
{
    public static class SeedData
    {
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new RazorPagesMovieContext(
                serviceProvider.GetRequiredService<
                    DbContextOptions<RazorPagesMovieContext>>()))
            {
                if (context == null || context.Movie == null)
                {
                    throw new ArgumentNullException("Null RazorPagesMovieContext");
                }

                // Look for any movies.
                if (context.Movie.Any())
                {
                    return;   // DB has been seeded
                }

                context.Movie.AddRange(
                    new Movie
                    {
                        Title = "主机",
                        ReleaseDate = DateTime.Parse("2022-4-22"),
                        Genre = "联想",
                        Price = 7.99M
                    },

                    new Movie
                    {
                        Title = "显示器",
                        ReleaseDate = DateTime.Parse("2022-4-22"),
                        Genre = "戴尔",
                        Price = 8.99M
                    },

                    new Movie
                    {
                        Title = "键盘",
                        ReleaseDate = DateTime.Parse("2022-4-24"),
                        Genre = "电竞",
                        Price = 9.99M
                    },

                    new Movie
                    {
                        Title = "鼠标",
                        ReleaseDate = DateTime.Parse("2022-4-22"),
                        Genre = "电竞",
                        Price = 3.99M
                    }
                );
                context.SaveChanges();
            }
        }
    }
}

更新 Program.cs代码:

启动项目测试 ,会发现所有数据都是刚才设定的数据

 12、添加搜索

打开文件Pages/Movies/Index.cshtml.cs ,添加新的字段,对OnGetAsync添加搜索查询

 在Pages/Movies/Index.cshtml页面下新增搜索框

 启动并测试项目

13、添加验证

更新Models/Movie.cs类以利用内置的[Required][StringLength][RegularExpression][Range]验证属性。

启动项目并验证

 本章完结

参考微软官网

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值