[英]How can I put whitespace in the javascript string when I make a dynamic class name?
I'am using Javascript in ASP.NET MVC. 我在ASP.NET MVC中使用Javascript。 I need to make class name dynamically which includes whitespace, but it doesn't work. 我需要动态地创建包含空格的类名,但是它不起作用。
The result becomes 结果变成
<script class="carousel-item" active="">
rather than 而不是
<script class="carousel-item active">
Below is the code block. 下面是代码块。
@for (var i = 0; i < Model.Banners.Count; i++)
{
var className = "carousel-item";
if (i == 0)
{
className += " active";
}
var srcName = "";
if (Model.Banners[i].Image != null)
{
srcName = "data:image;base64," + @System.Convert.ToBase64String(Model.Banners[i].Image);
}
<div class=@className>
<img class="d-block img-fluid" src=@srcName/>
</div>
}
You're missing quotes around @className
in <div class=@className>
, try <div class="@className">
instead. 您在<div class=@className>
@className
周围缺少引号,请尝试使用<div class="@className">
。
You should also add quotes around @srcName
too in the img
tag 您还应该在img
标签中在@srcName
周围添加引号
<div class="@className">
<img class="d-block img-fluid" src="@srcName"/>
</div>
Explanation 说明
Without the quotes <div class="@className">
will render 没有引号<div class="@className">
将呈现
<div class=carousel-item active>
Which gets interpreted as 哪个被解释为
<div class="carousel-item" active="">
Actually you are missing the quotes("") for html attribute, the correct html syntax is attr1="value1, value2", and you are making it as attr1=value1 value2. 实际上,您缺少html属性的双引号(“”),正确的html语法为attr1 =“ value1,value2”,并且将其设置为attr1 = value1 value2。
Try: 尝试:
<div class="@className">
<img class="d-block img-fluid" src="@srcName"/>
</div>
Or: 要么:
var className = "\"carousel-item";
if (i == 0)
{
className += " active";
}
className += "\"";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.