aboutsummaryrefslogtreecommitdiff
path: root/Web/Pages
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2020-12-10 13:54:23 +0200
committertranstrike <transtrike@gmail.com>2020-12-10 13:54:23 +0200
commitee80c6ff969b5b4cfc3d1292f15928fc8bd2d667 (patch)
tree02d126568767f77f78127a347b142e5225fab4de /Web/Pages
parent7941f1ab479b72ee53e94aef54b8390d21d36f84 (diff)
downloadDevHive-ee80c6ff969b5b4cfc3d1292f15928fc8bd2d667.tar
DevHive-ee80c6ff969b5b4cfc3d1292f15928fc8bd2d667.tar.gz
DevHive-ee80c6ff969b5b4cfc3d1292f15928fc8bd2d667.zip
Replaced ASP.NET Core MVC with Blazor
Diffstat (limited to 'Web/Pages')
-rw-r--r--Web/Pages/Counter.razor16
-rw-r--r--Web/Pages/Error.cshtml42
-rw-r--r--Web/Pages/Error.cshtml.cs32
-rw-r--r--Web/Pages/FetchData.razor46
-rw-r--r--Web/Pages/Index.razor7
-rw-r--r--Web/Pages/_Host.cshtml35
6 files changed, 178 insertions, 0 deletions
diff --git a/Web/Pages/Counter.razor b/Web/Pages/Counter.razor
new file mode 100644
index 0000000..ea07ff3
--- /dev/null
+++ b/Web/Pages/Counter.razor
@@ -0,0 +1,16 @@
+@page "/counter"
+
+<h1>Counter</h1>
+
+<p>Current count: @currentCount</p>
+
+<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
+
+@code {
+ private int currentCount = 0;
+
+ private void IncrementCount()
+ {
+ currentCount++;
+ }
+}
diff --git a/Web/Pages/Error.cshtml b/Web/Pages/Error.cshtml
new file mode 100644
index 0000000..d6e837b
--- /dev/null
+++ b/Web/Pages/Error.cshtml
@@ -0,0 +1,42 @@
+@page
+@model Web.Pages.ErrorModel
+
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
+ <title>Error</title>
+ <link href="~/css/bootstrap/bootstrap.min.css" rel="stylesheet" />
+ <link href="~/css/app.css" rel="stylesheet" />
+</head>
+
+<body>
+ <div class="main">
+ <div class="content px-4">
+ <h1 class="text-danger">Error.</h1>
+ <h2 class="text-danger">An error occurred while processing your request.</h2>
+
+ @if (Model.ShowRequestId)
+ {
+ <p>
+ <strong>Request ID:</strong> <code>@Model.RequestId</code>
+ </p>
+ }
+
+ <h3>Development Mode</h3>
+ <p>
+ Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred.
+ </p>
+ <p>
+ <strong>The Development environment shouldn't be enabled for deployed applications.</strong>
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
+ and restarting the app.
+ </p>
+ </div>
+ </div>
+</body>
+
+</html>
diff --git a/Web/Pages/Error.cshtml.cs b/Web/Pages/Error.cshtml.cs
new file mode 100644
index 0000000..404a034
--- /dev/null
+++ b/Web/Pages/Error.cshtml.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.RazorPages;
+using Microsoft.Extensions.Logging;
+
+namespace Web.Pages
+{
+ [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
+ [IgnoreAntiforgeryToken]
+ public class ErrorModel : PageModel
+ {
+ public string RequestId { get; set; }
+
+ public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+
+ private readonly ILogger<ErrorModel> _logger;
+
+ public ErrorModel(ILogger<ErrorModel> logger)
+ {
+ _logger = logger;
+ }
+
+ public void OnGet()
+ {
+ RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
+ }
+ }
+}
diff --git a/Web/Pages/FetchData.razor b/Web/Pages/FetchData.razor
new file mode 100644
index 0000000..ebae4da
--- /dev/null
+++ b/Web/Pages/FetchData.razor
@@ -0,0 +1,46 @@
+@page "/fetchdata"
+
+@using Web.Data
+@inject WeatherForecastService ForecastService
+
+<h1>Weather forecast</h1>
+
+<p>This component demonstrates fetching data from a service.</p>
+
+@if (forecasts == null)
+{
+ <p><em>Loading...</em></p>
+}
+else
+{
+ <table class="table">
+ <thead>
+ <tr>
+ <th>Date</th>
+ <th>Temp. (C)</th>
+ <th>Temp. (F)</th>
+ <th>Summary</th>
+ </tr>
+ </thead>
+ <tbody>
+ @foreach (var forecast in forecasts)
+ {
+ <tr>
+ <td>@forecast.Date.ToShortDateString()</td>
+ <td>@forecast.TemperatureC</td>
+ <td>@forecast.TemperatureF</td>
+ <td>@forecast.Summary</td>
+ </tr>
+ }
+ </tbody>
+ </table>
+}
+
+@code {
+ private WeatherForecast[] forecasts;
+
+ protected override async Task OnInitializedAsync()
+ {
+ forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
+ }
+}
diff --git a/Web/Pages/Index.razor b/Web/Pages/Index.razor
new file mode 100644
index 0000000..a4c47de
--- /dev/null
+++ b/Web/Pages/Index.razor
@@ -0,0 +1,7 @@
+@page "/"
+
+<h1>Hello, world!</h1>
+
+Welcome to your new app.
+
+<SurveyPrompt Title="How is Blazor working for you?" />
diff --git a/Web/Pages/_Host.cshtml b/Web/Pages/_Host.cshtml
new file mode 100644
index 0000000..46779a9
--- /dev/null
+++ b/Web/Pages/_Host.cshtml
@@ -0,0 +1,35 @@
+@page "/"
+@namespace Web.Pages
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+@{
+ Layout = null;
+}
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>Web</title>
+ <base href="~/" />
+ <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
+ <link href="css/site.css" rel="stylesheet" />
+ <link href="Web.styles.css" rel="stylesheet" />
+</head>
+<body>
+ <component type="typeof(App)" render-mode="ServerPrerendered" />
+
+ <div id="blazor-error-ui">
+ <environment include="Staging,Production">
+ An error has occurred. This application may no longer respond until reloaded.
+ </environment>
+ <environment include="Development">
+ An unhandled exception has occurred. See browser dev tools for details.
+ </environment>
+ <a href="" class="reload">Reload</a>
+ <a class="dismiss">🗙</a>
+ </div>
+
+ <script src="_framework/blazor.server.js"></script>
+</body>
+</html>