From 2bd9de67f14d80b0ca89880fac5871051ad27f6c Mon Sep 17 00:00:00 2001 From: Pranav K <prkrishn@hotmail.com> Date: Mon, 10 Jan 2022 13:40:51 -0800 Subject: [PATCH] Avoid declaring RazorPage<T>.Model as nullable by default (#39332) (#39416) Contributes to https://github.com/dotnet/aspnetcore/issues/37510 --- src/Mvc/Mvc.Razor/src/PublicAPI.Unshipped.txt | 2 ++ src/Mvc/Mvc.Razor/src/RazorPageOfT.cs | 3 +-- src/Mvc/Mvc.ViewFeatures/src/PublicAPI.Unshipped.txt | 2 ++ .../Mvc.ViewFeatures/src/ViewDataDictionaryOfT.cs | 12 +++--------- .../StarterWeb-CSharp/Views/Shared/Error.cshtml | 4 ++-- 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/Mvc/Mvc.Razor/src/PublicAPI.Unshipped.txt b/src/Mvc/Mvc.Razor/src/PublicAPI.Unshipped.txt index 7dc5c58110b..5b615e3dde8 100644 --- a/src/Mvc/Mvc.Razor/src/PublicAPI.Unshipped.txt +++ b/src/Mvc/Mvc.Razor/src/PublicAPI.Unshipped.txt @@ -1 +1,3 @@ #nullable enable +*REMOVED*Microsoft.AspNetCore.Mvc.Razor.RazorPage<TModel>.Model.get -> TModel? +Microsoft.AspNetCore.Mvc.Razor.RazorPage<TModel>.Model.get -> TModel diff --git a/src/Mvc/Mvc.Razor/src/RazorPageOfT.cs b/src/Mvc/Mvc.Razor/src/RazorPageOfT.cs index eb115161777..cc0ae56e1f1 100644 --- a/src/Mvc/Mvc.Razor/src/RazorPageOfT.cs +++ b/src/Mvc/Mvc.Razor/src/RazorPageOfT.cs @@ -15,13 +15,12 @@ namespace Microsoft.AspNetCore.Mvc.Razor /// <summary> /// Gets the Model property of the <see cref="ViewData"/> property. /// </summary> - public TModel? Model => ViewData == null ? default(TModel) : ViewData.Model; + public TModel Model => ViewData.Model; /// <summary> /// Gets or sets the dictionary for view data. /// </summary> [RazorInject] public ViewDataDictionary<TModel> ViewData { get; set; } = default!; - } } diff --git a/src/Mvc/Mvc.ViewFeatures/src/PublicAPI.Unshipped.txt b/src/Mvc/Mvc.ViewFeatures/src/PublicAPI.Unshipped.txt index 7dc5c58110b..73d4cbd64fd 100644 --- a/src/Mvc/Mvc.ViewFeatures/src/PublicAPI.Unshipped.txt +++ b/src/Mvc/Mvc.ViewFeatures/src/PublicAPI.Unshipped.txt @@ -1 +1,3 @@ #nullable enable +*REMOVED*Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary<TModel>.Model.get -> TModel? +Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary<TModel>.Model.get -> TModel diff --git a/src/Mvc/Mvc.ViewFeatures/src/ViewDataDictionaryOfT.cs b/src/Mvc/Mvc.ViewFeatures/src/ViewDataDictionaryOfT.cs index 3640fdea028..9933bfe667d 100644 --- a/src/Mvc/Mvc.ViewFeatures/src/ViewDataDictionaryOfT.cs +++ b/src/Mvc/Mvc.ViewFeatures/src/ViewDataDictionaryOfT.cs @@ -86,16 +86,10 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures } /// <inheritdoc /> - public new TModel? Model + public new TModel Model { - get - { - return (base.Model == null) ? default(TModel) : (TModel)base.Model; - } - set - { - base.Model = value; - } + get => (base.Model is null) ? default! : (TModel)base.Model; + set => base.Model = value; } } } diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/Error.cshtml b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/Error.cshtml index 10cf32b713d..a1e04783c67 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/Error.cshtml +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/Error.cshtml @@ -6,10 +6,10 @@ <h1 class="text-danger">Error.</h1> <h2 class="text-danger">An error occurred while processing your request.</h2> -@if (Model?.ShowRequestId ?? false) +@if (Model.ShowRequestId) { <p> - <strong>Request ID:</strong> <code>@Model?.RequestId</code> + <strong>Request ID:</strong> <code>@Model.RequestId</code> </p> } -- GitLab