add flash message! (#18)

This commit is contained in:
Julien Leicher 2020-12-09 14:24:43 +01:00
parent 7bfe5411b1
commit 5a2ece04bd
5 changed files with 30 additions and 1 deletions

View File

@ -0,0 +1,14 @@
using Microsoft.AspNetCore.Mvc;
namespace Website.Controllers
{
public abstract class BaseController : Controller
{
public const string FlashTextKey = "Flash.Text";
public void SetFlash(string message)
{
TempData[FlashTextKey] = message;
}
}
}

View File

@ -5,7 +5,7 @@ using System.Threading.Tasks;
namespace Website.Controllers namespace Website.Controllers
{ {
public class LinksController : Controller public class LinksController : BaseController
{ {
private readonly IMediator _bus; private readonly IMediator _bus;
@ -35,6 +35,8 @@ namespace Website.Controllers
await _bus.Send(command); await _bus.Send(command);
SetFlash("Link added!");
return RedirectToAction(nameof(Index)); return RedirectToAction(nameof(Index));
} }
} }

View File

@ -0,0 +1,8 @@
@{
var text = (string)TempData[Website.Controllers.BaseController.FlashTextKey];
}
@if (!string.IsNullOrWhiteSpace(text))
{
<p class="message">@text</p>
}

View File

@ -32,6 +32,7 @@
</nav> </nav>
</header> </header>
<div class="container"> <div class="container">
<partial name="_FlashMessage" />
<main role="main" class="pb-3"> <main role="main" class="pb-3">
@RenderBody() @RenderBody()
</main> </main>

View File

@ -19,6 +19,10 @@ Mise en place de la couche applicative avec `MediatR` et implémentation du prem
## Le site internet en MVC ## Le site internet en MVC
### Ajout des messages "flashs"
Permet de notifier l'utilisateur d'une action. Utilisation des `TempData` (données supprimées à la prochaine requête ou après la lecture).
### Factoriser des éléments d'interface ### Factoriser des éléments d'interface
#### Partial views #### Partial views