当前位置:首页 > Web开发 > 正文

所有已搭建基架的页面都遵循这个模式

2024-03-31 Web开发

本节主要介绍在上一节中通过搭建基架而创建的Razor页面,并做一些UI转变。

一、创建、删除、详细信息和编纂页面   1、双击Pages/Movies/Index.cshtml.cs文件,这是一个Razor页面模型:

  

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Threading.Tasks; 5 using Microsoft.AspNetCore.Mvc; 6 using Microsoft.AspNetCore.Mvc.RazorPages; 7 using Microsoft.EntityFrameworkCore; 8 using RazorPagesMovie.Data; 9 using RazorPagesMovie.Models; 10 11 namespace RazorPagesMovie 12 { 13 public class IndexModel : PageModel 14 { 15 private readonly RazorPagesMovie.Data.RazorPagesMovieContext _context; 16 17 public IndexModel(RazorPagesMovie.Data.RazorPagesMovieContext context) 18 { 19 _context =http://www.mamicode.com/ context; 20 } 21 22 public IList<Movie> Movie { get;set; } 23 24 public async Task OnGetAsync() 25 { 26 Movie = await _context.Movie.ToListAsync(); 27 } 28 } 29 }

  ① 第13行:暗示该Razor页面派生自PageModel。约定:PageModel派生的类称为<PageName>Model。

  ② 第17行:暗示这是一个结构函数,使用依赖关系注入将RazorPagesMovieContent添加到页。所有已搭建基架的页面都遵循这个模式。

  ③ 第24行:暗示对页面发出请求时,OnGetAsync要领向Razor页面返回影片列表。挪用OnGetAsync或OnGet以初始化页面的状态。OnGetAsync要领将获得的影片列表显示出来。当OnGet返回void或OnGetAsync返回task时,使用任何返回语句。因为此时返回的Movie东西,在措施中做了界说(第22行)

 2、双击Pages/Movies/Create.cshtml.cs文件,这也是一个Razor页面模型:

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Threading.Tasks; 5 using Microsoft.AspNetCore.Mvc; 6 using Microsoft.AspNetCore.Mvc.RazorPages; 7 using Microsoft.AspNetCore.Mvc.Rendering; 8 using RazorPagesMovie.Data; 9 using RazorPagesMovie.Models; 10 11 namespace RazorPagesMovie 12 { 13 public class CreateModel : PageModel 14 { 15 private readonly RazorPagesMovie.Data.RazorPagesMovieContext _context; 16 17 public CreateModel(RazorPagesMovie.Data.RazorPagesMovieContext context) 18 { 19 _context =http://www.mamicode.com/ context; 20 } 21 22 public IActionResult OnGet() 23 { 24 return Page(); 25 } 26 27 [BindProperty] 28 public Movie Movie { get; set; } 29 30 // To protect from overposting attacks, please enable the specific properties you want to bind to, for 31 // more details see https://aka.ms/RazorPagesCRUD. 32 public async Task<IActionResult> OnPostAsync() 33 { 34 if (!ModelState.IsValid) 35 { 36 return Page(); 37 } 38 39 _context.Movie.Add(Movie); 40 await _context.SaveChangesAsync(); 41 42 return RedirectToPage("./Index"); 43 } 44 } 45 }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/33281.html