add flash message! #18
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
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
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>
|
</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>
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user