c# - 如何在 Blazor 中使用 C# 动态更改 HTML 背景
问题描述
Javascript 可以轻松地操作 DOM 元素以及 css 以动态更改应用程序的外观。我想在 blazor 应用程序中使用 c# 动态更改 DOM 元素的背景图像。
document.getElementById('the_body').style.backgroundImage = "something.gif"
$('body').css('backgroundImage', 'url(something.gif)');
body
{
background: #000000 url(images/back_all.gif) repeat-x top;
font: 12px Tahoma, Arial, Helvetica, sans-serif;
color: #666666;
}
如何在 C# Blazor 应用程序中获得相同的结果?
解决方案
要更改组件中元素的背景(或任何相关内容),您可以声明私有字段,或使用一些类似的模式:
<div style="background-image: url(@backgroundUrl)">
</div>
<button type="button" @onclick="ChangeBackground">Change above div's background</button>
@code {
string backgroundUrl = "default.jpg";
private void ChangeBackground()
{
backgroundUrl = "some-other-image.jpg";
StateHasChanged();
}
}
推荐阅读
- c++ - 用户空闲检测
- html - 如何在引导程序中将最后两张卡居中?
- r - 使用 exists() 函数检查 R 中是否存在列表元素
- r - 用左到 y 轴标题的文本注释图
- javascript - 我的 JavaScript 函数不计算小时数
- mysql - 优化 mysql 请求:内部连接很长
- ios - 为 mac 催化剂的 info.plist 文件中的键设置不同的值
- amazon-web-services - 如何配置 Spark / Glue 以避免在 Glue 作业成功执行后创建空的 $_folder_$
- c# - 备份和重新加载控制台命令历史
- c# - 在深色模式下保存并在浅色模式下打开时 UWP RichEditBox 文本颜色问题