多个 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 ifelse 将不会被解释为代码,我不知道在哪里放置额外的 @ 标签。谁能帮帮我?

总例子:

<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>
        }
    }
}