【发布时间】:2021-02-04 08:24:09
【问题描述】:
我在生成代码的 VS 中使用默认实用程序创建了控制器和视图。
当我单击创建页面上的创建按钮时,我总是在创建方法中出现异常和断点不起作用。我尝试更改一些处理程序、更改参数或更改asp-action 的表单,但我无法进入创建处理程序。
我该如何解决?
创建页面
@model BulkyBook.Models.Category
@{
ViewData["Title"] = "Create";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>Create</h1>
<h4>Category</h4>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Name" class="control-label"></label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" 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-action="Index">Back to List</a>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
部分控制器核心不工作
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using BulkyBook.DataAccess.Data;
using BulkyBook.Models;
namespace BulkyBook.Areas.Admin.Controllers
{
[Area("Admin")]
public class CategoriesController : Controller
{
private readonly ApplicationDbContext _context;
public CategoriesController(ApplicationDbContext context)
{
_context = context;
}
// GET: Admin/Categories
public async Task<IActionResult> Index()
{
return View(await _context.Categories.ToListAsync());
}
// GET: Admin/Categories/Create
public IActionResult Create()
{
return View();
}
// POST: Admin/Categories/Create
// To protect from overposting attacks, enable the specific properties you want to bind to.
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("Id,Name")] Category category)
{
if (ModelState.IsValid)
{
_context.Add(category);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(category);
}
}
}
例外
【问题讨论】:
标签: c# asp.net-mvc asp.net-core razor