ASP.NET CoreでRazor Pagesにデータを追加

11566 ワード

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
  •  
  •    DataAnnotations jQuery HTML 。
  • div 。