博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.NetCore Razor 模式 Web 应用
阅读量:4475 次
发布时间:2019-06-08

本文共 3844 字,大约阅读时间需要 12 分钟。

Razor 页面是 ASP.NET Core MVC 的一个新功能,它可以使基于页面的编码方式更简单高效。

Razor 页面是 ASP.NET Core 2.0 中的一个新选择,它是基于页面的编程模型,可以实现更简单、更高效地生成 Web UI

安装 .NET Core 2.0.0 或更高版本。

如果在使用 Visual Studio,请使用以下工作负载安装 Visual Studio 2017 版本 15.3 或更高版本:

 

一、 创建Razor项目

  1. 新建项目

 

2. 选择web应用程序,不是选择空,这样可以查看默认的代码结构。

 

3. 代码结构

 

 二、 项目文件和文件夹

   1. wwwroot :包含静态文件。 请参阅。

   2. Pages: 的文件夹。

   3. appsettings.json:配置文件

   4. Program.cs:  ASP.NET Core 应用。

   5. Startup.cs:配置服务和请求管道。 请参阅。

 三、 添加数据模型

   

  Movie类:

public class Movie    {        public int ID { get; set; }        [Display(Name = "标题")]        [StringLength(10, MinimumLength = 3)]        public string Title { get; set; }        [Display(Name = "发布时间")]        [DataType(DataType.Date)]        public DateTime ReleaseDate { get; set; }        [Display(Name = "类型")]        public string Genre { get; set; }        [Display(Name = "价格")]        public decimal Price { get; set; }    }}

MovieContext类:(EF MySql Core)

public class MovieContext : DbContext    {        public MovieContext(DbContextOptions
options) : base(options) { } public DbSet
Movie { get; set; } }

  appsettings.json

{  "Logging": {    "IncludeScopes": false,    "LogLevel": {      "Default": "Warning"    }  },  "ConnectionStrings": {    "MovieContext": "Data Source=;Database=;uid=root;pwd=;port=3306;SslMode=none;Convert Zero Datetime=true;persist security info=true;charset=utf8;Pooling=true;"  }}

Startup类:(默认依赖注入)

这里需要在NuGet中下载mysql core 包 MySql.Data.EntityFrameworkCore

 

// This method gets called by the runtime. Use this method to add services to the container.        public void ConfigureServices(IServiceCollection services)        {            services.AddDbContext
(options => options.UseMySQL(Configuration.GetConnectionString("MovieContext"))); services.AddMvc(); }

 

四、实现增,删,改,查

Razor 页面派生自 PageModel。 按照约定,PageModel 派生的类称为 <PageName>Model。 此构造函数使用 将 MovieContext 添加到页。
Movie 属性使用 [BindProperty] 特性来选择加入 。 当“创建”表单发布表单值时,ASP.NET Core 运行时将发布的值绑定到 Movie 模型。当页面发布表单数据时

     

 

  1. 对页面发出请求时,OnGetAsync 方法向 Razor 页面返回影片列表。 在 Razor 页面上调用 OnGetAsync 或 OnGet 以初始化页面状态。 在这种情况下,OnGetAsync 将获得影片列表并显示出来。

  2. 当 OnGet 返回 void 或 OnGetAsync 返回 Task 时,不使用任何返回方法。

 

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

 

 

   cs:

public class CreateModel : PageModel    {        private readonly MovieContext _context;        public CreateModel(MovieContext context)        {            _context = context;        }        public IActionResult OnGet()        {            return Page();        }        [BindProperty]        public WebApp_Razor.Models.Movie Movie { get; set; }        public async Task
OnPostAsync() { if (!ModelState.IsValid) { return Page(); } _context.Movie.Add(Movie); await _context.SaveChangesAsync(); return RedirectToPage("./Index"); } }

  html:

@page@model CreateModel@{    ViewData["Title"] = "Create";}

Create

Movie


@section Scripts { @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }}

 

   

 

  

 

转载于:https://www.cnblogs.com/dragon-L/p/8660590.html

你可能感兴趣的文章
win10 配置 maven_home 一会儿成功一会儿失败_在macbook上运行移动硬盘里的win10和macos...
查看>>
python怎么画多重饼状图_Python通过matplotlib画双层饼图及环形图简单示例
查看>>
棋盘最短路径 python_Dijkstra 最短路径算法 Python 实现
查看>>
eclipse配置mysql教程_在Eclipse连接mysql-----配置jbdc_MySQL
查看>>
java map合并_java 实现合并map示例Demo1
查看>>
java 8 string_String.join() --Java8中String类新增方法
查看>>
java 布局教程_java布局学习(新)
查看>>
Random Access Iterator
查看>>
Harry And Dig Machine
查看>>
Cake Robbery
查看>>
Magician
查看>>
GT and set
查看>>
苹果曼和树
查看>>
你真的会写Java吗?
查看>>
alibaba.fastjson.JSONObject 解析
查看>>
终于有人把Elasticsearch原理讲透了
查看>>
Java使用POI 读取和写入Excel指南
查看>>
在JAVA中 线程到底起到什么作用
查看>>
分布式锁 关键技术、常见解决方案
查看>>
plsql导出导入 表结构、表数据
查看>>