问题描述
ViewBag.Image = '<image>https://c152688.ssl.cf3.rackcdn.com/tcthh/v10/bg/light/random/singaporecity_light_1280.jpg'
我正在尝试从控制器传递图像 URL 以使用 viewbag 查看。在视图中,我试图将值分配给 div。
<script>
$('#logindiv').css("background-image","url('" + @ViewBag.Image + "')");
</script>
但上面那行给了我
解决方法
第一个问题是图像 URL 中不应包含 <image>
标记。那需要删除。
第二个问题是您将 ViewBag 中的内容附加到服务器端。因此,您不需要将它连接到客户端 JS。你只需要在JS内的正确位置输出即可。
ViewBag.Image = 'https://c152688.ssl.cf3.rackcdn.com/tcthh/v10/bg/light/random/singaporecity_light_1280.jpg'
jQuery($ => {
$('#logindiv').css("background-image",'url("@ViewBag.Image")');
});
注意 JS 必须在 DOM 加载后运行,这就是我添加 document.ready 处理程序的原因,而且 JS 需要在 View 中执行,以便 @
Razor/Blazor 语法将被解释。如果您的 JS 包含在外部 .js
文件中,则您当前的方法将不起作用。
请试试这个
$('#logindiv').css("background-image",'url(" + @ViewBag.Image + ")');