Код: Выделить всё
app.MapDefaultControllerRoute();
app.MapAreaControllerRoute(
name: "Admin",
areaName: "Admin",
pattern: "Admin/{controller=Home}/{action=Index}/{id?}"
);
< /code>
my view: < /p>
@model List
@{
ViewData["Title"] = "Index";
Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
}
Add Category
[h4]Table Basic[/h4]
Name
Created By
Status
Actions
@foreach (var item in Model)
{
@item.Name
@item.CreatedBy
@item.IsDeleted
Update
Delete
}
< /code>
Мой контроллер: < /p>
namespace AnimeUI.Areas.Admin.Controllers
{
[Area("Admin")]
public class CategoryController : Controller
{
private readonly ICategoryService categoryService;
private readonly IValidator validator;
private readonly IMapper mapper;
public CategoryController(ICategoryService categoryService, IValidator validator, IMapper mapper)
{
this.categoryService = categoryService;
this.validator = validator;
this.mapper = mapper;
}
public async Task Index()
{
var categories = await categoryService.GetAllCategoriesNonDeletedAsync();
return View(categories);
}
[HttpGet]
public IActionResult Add()
{
return View();
}
[HttpPost]
public async Task Add(AddCategoryDto addCategoryDto)
{
var category = mapper.Map(addCategoryDto);
var result = validator.Validate(category);
var exists = await categoryService.Exists(category);
if (exists)
result.Errors.Add(new ValidationFailure("Name", "This category name already exists"));
if (result.IsValid)
{
await categoryService.CreateCategoryAsync(addCategoryDto);
return RedirectToAction("Index", "Category", new { Area = "Admin" });
}
result.AddToModelState(this.ModelState);
return View(addCategoryDto);
}
}
}
< /code>
Я искал целый день, но не мог найти действительное решение этой раздражающей проблемы. По какой -то причине мой URL -карт генерируется так: < /p>
https://localhost:7002/Category/Add?area=Admin
< /code>
вместо < /p>
https://localhost:7002/Admin/Category/Add
< /code>
Я попытался изменить свой порт, добавить другой синтаксис маршрутизации. В настоящее время я использую Visual Studio 2022, и мой проект - .net 8.0
ps: моя проблема возникает только тогда, когда мне нужно перейти на страницы администратора Подробнее здесь: https://stackoverflow.com/questions/782 ... gory-addar