Веб-страница по веб-адресу: https://localhost:7002/Category/Add?area=Admin не найдена. Почему мой URL-адрес генерируетсяC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Веб-страница по веб-адресу: https://localhost:7002/Category/Add?area=Admin не найдена. Почему мой URL-адрес генерируется

Сообщение Anonymous »

У меня есть область администратора в моем основном приложении MVC asp.net, и когда я пытаюсь добраться до /Admin/Category/Add, он говорит, что для веб-адреса не найдена веб-страница: https://localhost:7002/Category/ Add?area=Admin.
Моя маршрутизация в program.cs:

Код: Выделить всё

app.MapDefaultControllerRoute();

app.MapAreaControllerRoute(
name: "Admin",
areaName: "Admin",
pattern: "Admin/{controller=Home}/{action=Index}/{id?}"
);
Мое мнение:

Код: Выделить всё

@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



}







Мой контроллер:

Код: Выделить всё

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);
}

}
}

Я искал целый день, но не смог найти правильного решения этой досадной проблемы. По какой-то причине мой URL-адрес создается следующим образом: https://localhost:7002/Category/Add?area=Admin вместо https://localhost:7002/Admin/Category/Add. Я пытался изменить свой порт, добавить другой синтаксис маршрутизации. В настоящее время я использую Visual Studio 2022, и мой проект – .NET 8.0.
PS: Моя проблема возникает только тогда, когда мне нужно перейти на страницы администратора.

Подробнее здесь: https://stackoverflow.com/questions/782 ... gory-addar
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»