在 ASP.NET Core 中向 Razor Pages 实现添加数据

1、创建添加代码

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using RazorPagesMovie.Models;
using System;
using System.Threading.Tasks;

namespace RazorPagesMovie.Pages.Movies
{
    public class CreateModel : PageModel
    {
        private readonly RazorPagesMovie.Data.RazorPagesMovieContext _context;

        public CreateModel(RazorPagesMovie.Data.RazorPagesMovieContext context)
        {
            _context = context;
        }

        public IActionResult OnGet()
        {
            return Page();
        }

        [BindProperty]
        public Movie Movie { get; set; }

        public async Task OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return Page();
            }

            _context.Movie.Add(Movie);
            await _context.SaveChangesAsync();

            return RedirectToPage("./Index");
        }
    }
}

2、实现前端页面

@page
@model RazorPagesMovie.Pages.Movies.CreateModel

@{
    ViewData["Title"] = "Create";
}

Create

Movie


class="row">
class="col-md-4">
"post">
"ModelOnly" class="text-danger">
class="form-group"> for="Movie.Title" class="form-control" /> for="Movie.Title" class="text-danger">
class="form-group"> for="Movie.ReleaseDate" class="form-control" /> for="Movie.ReleaseDate" class="text-danger">
class="form-group"> for="Movie.Genre" class="form-control" /> for="Movie.Genre" class="text-danger">
class="form-group"> for="Movie.Price" class="form-control" /> for="Movie.Price" class="text-danger">
class="form-group"> "submit" value="Create" class="btn btn-primary" />
@section Scripts { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} }

核心要素:

1、public IActionResult OnGet() { return Page(); }  返回当前的默认页面

2、if (!ModelState.IsValid) { return Page(); } 模型是否验证成果;

  •     POST回调
  •   在网页上显示验证信息和标记
  •   生成标签描述和 Title 属性的 for 特性
  •   使用 DataAnnotations 属性并在客户端生成 jQuery 验证所需的 HTML 属性。
  • 显示错误的div和信息。

你可能感兴趣的:(在 ASP.NET Core 中向 Razor Pages 实现添加数据)