add flash message! (#18)
This commit is contained in:
parent
7bfe5411b1
commit
5a2ece04bd
14
Apps/Website/Controllers/BaseController.cs
Normal file
14
Apps/Website/Controllers/BaseController.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5,7 +5,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Website.Controllers
|
||||
{
|
||||
public class LinksController : Controller
|
||||
public class LinksController : BaseController
|
||||
{
|
||||
private readonly IMediator _bus;
|
||||
|
||||
@ -35,6 +35,8 @@ namespace Website.Controllers
|
||||
|
||||
await _bus.Send(command);
|
||||
|
||||
SetFlash("Link added!");
|
||||
|
||||
return RedirectToAction(nameof(Index));
|
||||
}
|
||||
}
|
||||
|
||||
8
Apps/Website/Views/Shared/_FlashMessage.cshtml
Normal file
8
Apps/Website/Views/Shared/_FlashMessage.cshtml
Normal file
@ -0,0 +1,8 @@
|
||||
@{
|
||||
var text = (string)TempData[Website.Controllers.BaseController.FlashTextKey];
|
||||
}
|
||||
|
||||
@if (!string.IsNullOrWhiteSpace(text))
|
||||
{
|
||||
<p class="message">@text</p>
|
||||
}
|
||||
@ -32,6 +32,7 @@
|
||||
</nav>
|
||||
</header>
|
||||
<div class="container">
|
||||
<partial name="_FlashMessage" />
|
||||
<main role="main" class="pb-3">
|
||||
@RenderBody()
|
||||
</main>
|
||||
|
||||
@ -19,6 +19,10 @@ Mise en place de la couche applicative avec `MediatR` et implémentation du prem
|
||||
|
||||
## 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
|
||||
|
||||
#### Partial views
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user