Ответ
Да, есть опыт разработки веб-приложений на ASP.NET MVC (как .NET Framework, так и Core версий). Работал с полным стеком паттерна Model-View-Controller.
Пример типичного контроллера с внедрением зависимостей:
public class ProductController : Controller
{
private readonly IProductService _productService;
private readonly ILogger<ProductController> _logger;
public ProductController(IProductService productService, ILogger<ProductController> logger)
{
_productService = productService;
_logger = logger;
}
// GET: Product/Index
public async Task<IActionResult> Index()
{
var products = await _productService.GetAllActiveProductsAsync();
return View(products);
}
// POST: Product/Create
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(ProductViewModel model)
{
if (!ModelState.IsValid)
return View(model);
try
{
await _productService.CreateProductAsync(model);
return RedirectToAction(nameof(Index));
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка создания продукта");
ModelState.AddModelError("", "Не удалось создать продукт.");
return View(model);
}
}
}
С чем работал:
- Razor Views: Создание строго типизированных представлений, частичных представлений (
PartialView), Layout-страниц. - Маршрутизация: Настройка кастомных маршрутов в
Startup.cs/Program.cs. - Фильтры: Использование встроенных (
[Authorize],[ValidateAntiForgeryToken]) и создание кастомных фильтров действий. - Привязка моделей (Model Binding) и валидация с помощью Data Annotations.
- AJAX и JSON: Возврат
JsonResultи работа с JavaScript для динамического обновления интерфейса.