Skip to main content

HomeController

The HomeController provides basic application navigation and session management functionality.

Source

Controllers/HomeController.cs
using Microsoft.AspNetCore.Mvc;
using MvcCoreUtilidades.Models;
using System.Diagnostics;

namespace MvcCoreUtilidades.Controllers
{
    public class HomeController : Controller
    {
        // ... methods documented below
    }
}

Methods

Index

Returns the main home page view.
public IActionResult Index()
Returns: IActionResult - The home page view

Privacy

Returns the privacy policy page view.
public IActionResult Privacy()
Returns: IActionResult - The privacy view

Error

Handles application errors and displays the error page with diagnostic information.
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
Attributes:
  • [ResponseCache] - Disables caching for error pages
Returns: IActionResult - Error view with ErrorViewModel containing request ID Usage:
return View(new ErrorViewModel { 
    RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier 
});

LogIn (GET)

Displays the login form.
public IActionResult LogIn()
Returns: IActionResult - The login view

LogIn (POST)

Processes user login and stores the username in session.
[HttpPost]
public IActionResult LogIn(string usuario)
usuario
string
required
The username to store in session
Returns: IActionResult - The login view with success message Session Storage:
HttpContext.Session.SetString("USUARIO", usuario);
ViewData["MENSAJE"] = "Usuario en el sistema";

LogOut

Clears the user session and redirects to home page.
public IActionResult LogOut(string usuario)
usuario
string
Username parameter (not used in implementation)
Returns: IActionResult - Redirect to Index action Session Removal:
HttpContext.Session.Remove("USUARIO");
return RedirectToAction("Index");

Session Configuration

For session management to work, ensure session middleware is configured in Program.cs:
Program.cs
builder.Services.AddDistributedMemoryCache();
builder.Services.AddSession();

// ...

app.UseSession();

Session Management Example

See complete session implementation

ErrorViewModel

Error model documentation

Build docs developers (and LLMs) love