Cześć, pracuję nad stroną internetową, w której chcę zastosować stronę ładującą, kiedy strona wykonuje działania w tle. W tym celu przygotowałem taki widok:
@model AppCore.Models.ConnectionModel
@{
ViewData["Title"] = "Index";
Layout = "_InstallLayout";
}
@if (Model != null)
{
<div class="d-flex justify-content-center">
<div class="spinner-border text-info" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
if (WoodStore.AppCore.SqlConnector.IsConnection(WoodStoreApp.AppCore.Crypto.GetHash(Model.ConnectionString)))
{
WoodStore.AppCore.Serialization.Serialize(new System.IO.FileStream(AppCore.Enums.Paths.ConnectionStringPath, System.IO.FileMode.OpenOrCreate), new AppCore.Models.ConnectionModel() { ConnectionString = WoodStoreApp.AppCore.Crypto.GetHash(Model.ConnectionString)}, typeof(AppCore.Models.ConnectionModel));
}
}
else
{
<div class="row justify-content-center">
<div class="col-md-4">
<form asp-action="Index" method="post">
<div class="form-group">
<label>Połączenie z bazą danych</label>
<input asp-for="ConnectionString" class="form-control" />
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
</div>
}
W if
gdzie sprawdzam, czy jest połączenie z bazą danych zapisuje połączenie do pliku json i chciałbym, aby po tej operacji widok uruchomił konkretną metodę w kontrolerze.
Chodzi mi o to, że chcę, aby po tym jak użytkownik wprowadzi dane do formularza i wyśle formularz to strona zachowała się w taki sposób, że aplikacja wykonuje działania związane z obsługą formularza, a użytkownik widzi stronę ładowania. W tym przypadku próbuję to zrobić za pomocą widoku, w którym to chcę zrealizować, ale może istnieje metoda, która pozwala to wykonać z poziomu samego kontrolera, czyli w momencie wykonywania działań pokazuję się widok ładowania, a po zakończeniu działań widok przełącza się do następnego.