在ASP.NET Core MVC中,可以使用部分视图(Partial View)来在多个页面上重复使用相同的代码。但有时我们希望部分视图只在特定页面上渲染,而不是在所有页面上。
以下是一个解决方案,可以实现在ASP.NET Core MVC中部分视图仅在一个页面上渲染的需求。
// _MyPartial.cshtml
@model MyViewModel
@Model.Title
@Model.Description
@await Html.PartialAsync()
方法来渲染部分视图。// SomePage.cshtml
@{
ViewData["Title"] = "Some Page";
}
Some Page
@await Html.PartialAsync("_MyPartial", new MyViewModel { Title = "Partial View Title", Description = "Partial View Description" })
@await Html.PartialAsync()
方法。// AnotherPage.cshtml
@{
ViewData["Title"] = "Another Page";
}
Another Page
This page does not render the partial view.
通过上述代码,部分视图 "_MyPartial.cshtml" 将只在 "SomePage.cshtml" 页面上渲染,而不在 "AnotherPage.cshtml" 页面上渲染。
注意:如果需要在多个页面上渲染相同的部分视图,只需在需要使用部分视图的页面上使用 @await Html.PartialAsync()
方法即可。