【发布时间】:2021-06-25 14:53:34
【问题描述】:
我正在尝试从 Razor 页面访问正文。我刚刚开始学习 Blazor。所以我不知道这是否可能。基本上我正在尝试从 C# 端和不同页面更改正文类。我可以用 JavaScript 来做,但我想用 Blazor WebAssembly 来做。如果正文在 Razor 页面内,它可以工作。但我不想那样使用它。
index.html:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="utf-8" />
</head>
<body class="theme-dark">
<app>Loading...</app>
<script src="_framework/blazor.webassembly.js"></script>
</body>
</html>
MainLayout.razor:
@inherits LayoutComponentBase
<div class="grid-wrapper sidebar-bg bg1">
<div id="theme-tab">
<div class="theme-tab-item switch-theme bg-white" @onclick="ToggleTheme" data-theme="theme-default" title="Light"></div>
<div class="theme-tab-item switch-theme bg-dark" @onclick="ToggleTheme" data-theme="theme-dark" title="Dark"></div>
</div>
<NavMenu />
<SideBar />
<div class="main">
@Body
</div>
<Footer />
</div>
@code {
private bool isDark = true;
private string currentTheme => isDark ? "theme-dark" : "theme-default"; //I want to use this variable in other pages.
private void ToggleTheme()
{
isDark = !isDark;
}
}
【问题讨论】:
-
我假设您想在
<body>中更改它,而不是@body。<body>不是 Blazor 应用程序的一部分,因此如果没有一些 JSInterop,就无法在 Blazor 中进行更改。为什么不想在 Layout 中做呢?
标签: c# razor blazor webassembly blazor-webassembly