Я использую Visual Studio 2019 Community16.3.0 Preview 4.0, .NET Core 3.0 RC1, ASP.NET Core 3, Entity Framework 3 RC1
Я читаю документ ASP.NET Core.Я знаю, что ASP.NET Core имеет 4 модели программирования:
Первый вопрос: Интересно, можно ли иметь 2 разных модели программирования ASP.NET Core в одном веб-приложении?
Второй вопрос: Я создаю веб-приложение Blazor, следуя этому руководству: https://docs.devexpress.com/Blazor/401057/getting-started/create-a-new-application, оно успешно выполнено.
Blazor
@page "/weather"
<h1>Weather</h1>
<DxTextBox></DxTextBox>
@code {
//...
}
Я пытаюсьпоместить модель программирования страниц ASP.NET Core Razor в существующее веб-приложение Blazor Create.cshmtml
@page "/Create"
@model RazorPagesMovie.Pages.CreateModel
@{
ViewData["Title"] = "Create";
}
<h1>Create</h1>
<h4>Movie</h4>
<hr />
<div class="row">
<div class="col-md-4">
<form method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Movie.Title" class="control-label"></label>
<input asp-for="Movie.Title" class="form-control" />
<span asp-validation-for="Movie.Title" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Movie.ReleaseDate" class="control-label"></label>
<input asp-for="Movie.ReleaseDate" class="form-control" />
<span asp-validation-for="Movie.ReleaseDate" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Movie.Genre" class="control-label"></label>
<input asp-for="Movie.Genre" class="form-control" />
<span asp-validation-for="Movie.Genre" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Movie.Price" class="control-label"></label>
<input asp-for="Movie.Price" class="form-control" />
<span asp-validation-for="Movie.Price" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
</div>
<div>
<a asp-page="Index">Back to List</a>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
Create.cshmt.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.AspNetCore.Mvc.Rendering;
using acc133blazor.Models;
namespace RazorPagesMovie.Pages
{
public class CreateModel : PageModel
{
private readonly acc133blazor.Models.accounting133Context _context;
public CreateModel(acc133blazor.Models.accounting133Context context)
{
_context = context;
}
public IActionResult OnGet()
{
return Page();
}
[BindProperty]
public Movie Movie { get; set; }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see https://aka.ms/RazorPagesCRUD.
public async Task<IActionResult> OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
_context.Movie.Add(Movie);
await _context.SaveChangesAsync();
return RedirectToPage("./Index");
}
}
}
Я не уверен, что это может иметь успех.Я пытаюсь отладить веб-приложение, перейти на страницу Razor https://localhost:44303/Create
и ошибку.
Но его набор компонентов Blazor все еще не достаточен (в бета-версии, только 12 компонентов https://demos.devexpress.com/blazor/), я пытаюсьдобавить страницу ASP.NET Razor или ASP.NET Core Control (ASP.NET Core ViewComponent https://demos.devexpress.com/ASPNetCore/), Можно ли это сделать?