多个 Else if 在 if 语句中。 Umbraco代码解释
Multiple Else if inside if statement. Umbraco Code interpretation
这个怎么写才正确?
@{
if (x = y) {
// Do something
} else if (x = 1) {
// Do something else
} else if (x = 2) {
// Do something wild
} else {
// Do something wildly
}
}
最后的 else if 和 else 将不会被解释为代码,我不知道在哪里放置额外的 @ 标签。谁能帮帮我?
总例子:
<h2>PAGE</h2>
@{
var years = Umbraco.Content(3772).Children;
for (int i = 0; i < years.Count(); i++) {
var page = years[i];
if (i < 3) {
<a class="btn btn-primary" href="@page.Url">@page.Name</a>
} else if (i == 3) {
<label id="lblSelect">
<select id="selectPointOfInterest" title="Vælg årstal" onchange="location = this.value;">
<option value="@page.Url">@page.Name</option>
} else if (i < years.Count() && i > 3) {
<option value="@page.Url">@page.Name</option>
} else if (i == years.Count()-1) {
<option value="@page.Url">@page.Name</option>
</select>
</label>
}
}
}
示例的问题是在 IF 的同一分支中打开一些 html 标签而不关闭它们。
尝试生成一个 html 的字符串,然后打印出来,类似这样:
else if (i == 3)
{
String toPrint = String.Format("<label id=\"lblSelect\"><select id=\"selectPointOfInterest\" title=\"Vælg årstal\" onchange=\"location = this.value;\"><option value=\"{0}\">{1}</option>", page.Url, page.Name);
@Html.Raw(toPrint);
}
如果有人感兴趣,我自己找到了解决方案。
已修复总示例:
<h2>PAGE</h2>
@{
var years = Umbraco.Content(3772).Children;
for (int i = 0; i < years.Count(); i++) {
var page = years[i];
if (i < 3) {
<a class="btn btn-primary" href="@page.Url">@page.Name</a>
} else if (i == 3) {
@:<label id="lblSelect">
@:<select id="selectPointOfInterest" title="Vælg årstal" onchange="location = this.value;">
<option value="@page.Url">@page.Name</option>
} else if (i < years.Count() && i > 3) {
<option value="@page.Url">@page.Name</option>
} else if (i == years.Count()-1) {
<option value="@page.Url">@page.Name</option>
@:</select>
@:</label>
}
}
}
这个怎么写才正确?
@{
if (x = y) {
// Do something
} else if (x = 1) {
// Do something else
} else if (x = 2) {
// Do something wild
} else {
// Do something wildly
}
}
最后的 else if 和 else 将不会被解释为代码,我不知道在哪里放置额外的 @ 标签。谁能帮帮我?
总例子:
<h2>PAGE</h2>
@{
var years = Umbraco.Content(3772).Children;
for (int i = 0; i < years.Count(); i++) {
var page = years[i];
if (i < 3) {
<a class="btn btn-primary" href="@page.Url">@page.Name</a>
} else if (i == 3) {
<label id="lblSelect">
<select id="selectPointOfInterest" title="Vælg årstal" onchange="location = this.value;">
<option value="@page.Url">@page.Name</option>
} else if (i < years.Count() && i > 3) {
<option value="@page.Url">@page.Name</option>
} else if (i == years.Count()-1) {
<option value="@page.Url">@page.Name</option>
</select>
</label>
}
}
}
示例的问题是在 IF 的同一分支中打开一些 html 标签而不关闭它们。
尝试生成一个 html 的字符串,然后打印出来,类似这样:
else if (i == 3)
{
String toPrint = String.Format("<label id=\"lblSelect\"><select id=\"selectPointOfInterest\" title=\"Vælg årstal\" onchange=\"location = this.value;\"><option value=\"{0}\">{1}</option>", page.Url, page.Name);
@Html.Raw(toPrint);
}
如果有人感兴趣,我自己找到了解决方案。
已修复总示例:
<h2>PAGE</h2>
@{
var years = Umbraco.Content(3772).Children;
for (int i = 0; i < years.Count(); i++) {
var page = years[i];
if (i < 3) {
<a class="btn btn-primary" href="@page.Url">@page.Name</a>
} else if (i == 3) {
@:<label id="lblSelect">
@:<select id="selectPointOfInterest" title="Vælg årstal" onchange="location = this.value;">
<option value="@page.Url">@page.Name</option>
} else if (i < years.Count() && i > 3) {
<option value="@page.Url">@page.Name</option>
} else if (i == years.Count()-1) {
<option value="@page.Url">@page.Name</option>
@:</select>
@:</label>
}
}
}