Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPranav K <prkrishn@hotmail.com>2022-03-03 22:42:57 +0300
committerGitHub <noreply@github.com>2022-03-03 22:42:57 +0300
commite9dddd6465f3a9fe6ec281fd548831b67dea7778 (patch)
tree752881690b43c83dc72268184686b424450ac0fe /src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp
parent381755891fd8019ecd7a73bf15d82fdb8a0715c8 (diff)
Modify HtmlRenderer to update content when a component re-renders (#40512)
Prior to this change HtmlRenderer would return a snapshot of a component immediately after it was initially rendered. This meant any updates to a component as a result of other root components rendering were lost. In this change, we update the HtmlRenderer to return a placeholder `IHtmlContent` that retrieves render frames only when `WriteTo` is invoked. Typically MVC will defer calling WriteTo until the content is about to be sent to the wire, which means any updates to a component (e.g. HeadOutlet being updated) are picked up. Also updates the template to consolidate `_Host` and `_Layout`. Fixes https://github.com/dotnet/aspnetcore/issues/38400
Diffstat (limited to 'src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp')
-rw-r--r--src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/_Host.cshtml33
-rw-r--r--src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/_Layout.cshtml32
2 files changed, 29 insertions, 36 deletions
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/_Host.cshtml b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/_Host.cshtml
index c8b0009bc2..132aad8a77 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/_Host.cshtml
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/_Host.cshtml
@@ -1,8 +1,33 @@
@page "/"
+@using Microsoft.AspNetCore.Components.Web
@namespace BlazorServerWeb_CSharp.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-@{
- Layout = "_Layout";
-}
-<component type="typeof(App)" render-mode="ServerPrerendered" />
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <base href="~/" />
+ <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
+ <link href="css/site.css" rel="stylesheet" />
+ <link href="BlazorServerWeb-CSharp.styles.css" rel="stylesheet" />
+ <component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
+</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>
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/_Layout.cshtml b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/_Layout.cshtml
deleted file mode 100644
index c265ac4b9e..0000000000
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/_Layout.cshtml
+++ /dev/null
@@ -1,32 +0,0 @@
-@using Microsoft.AspNetCore.Components.Web
-@namespace BlazorServerWeb_CSharp.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <base href="~/" />
- <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
- <link href="css/site.css" rel="stylesheet" />
- <link href="BlazorServerWeb-CSharp.styles.css" rel="stylesheet" />
- <component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
-</head>
-<body>
- @RenderBody()
-
- <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>