Ich habe den folgenden Code in einer Ansicht. Nachdem ich @if (Model.Error) hinzugefügt habe, beschwert sich der Compiler jetzt, dass ein Fehler aufgetreten ist, da der Parameter, der Aufruf und der Afterinit nicht geschlossen sind. Ich habe versucht, Text-Tags ohne Erfolg einzusetzen. Die Sache ist, dass der Code in der Ansicht eigentlich als reguläres Rasierskript gut läuft, wenn ich versuche, die Ansicht vorkompilieren, bekomme ich einen Buildfehler.Verschachtelte Tags in @if-Anweisung nicht erkannt
@using Core.UI;
@using Core.ViewModels.SQLServer;
@model LinkedServerListData
@{
Response.ContentType = "text/xml";
Layout = null;
}
<rows>
<head>
@if (Model.HasError)
{
<afterinit>
<call command="SetServerError">
<param>@(Model.ErrorMessage)</param>
</call>
</afterinit>
}
<settings>
<colwidth>%</colwidth>
</settings>
<column width="100" align="left" sort="server" type="ro" hidden="false" id="Server">
<![CDATA[
<div style="@Html.Raw(Grid.HEADER_STYLE_LEFT)">Linked Server Name</div>]]>
</column>
</head>
@foreach (string sServer in Model.Servers)
{
<row id="@(Guid.NewGuid().ToString())">
<cell><![CDATA[@Html.Raw(sServer)]]></cell>
</row>
}
</rows>
Hier ein Bild der Fehler ist, wenn das hilft:
Benötigen Sie technisch das '@' vor 'Model.ErrorMessage', da Sie bereits im Bereich des' @ if' liegen? –
Ja, wahrscheinlich überflüssig, aber das ist nicht markiert, guter Fang. Wie Sie sehen können, habe ich es bereits in der Antwort unten herausgenommen. – aggaton