Описание: во время компиляции ресурса, необходимого для обслуживания этого запроса, произошла ошибка. Сообщение об ошибке компилятора: CS1513:} ожидается - PullRequest
1 голос
/ 29 февраля 2012

Это мой HTML-код:

<span>
<%if (Model.Data.Service.Attachments.Count > 0)
{

%><h3>Downloads for your service:</h3> <%

foreach (var attach in Model.Data.Service.Attachments)
{
    %><%=attach.Name%>: https://<%= Request.Url.Host%> "/File/Download/" <%= attach.Id.ToString()%><br />
}<%

}%></span>

Ошибка говорит о том, что мне не хватает "{", но я не верю, что здесь происходит

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Закрывающая скобка вашего foreach находится не в блоке <%%>.Это должно быть:

<span>
<%if (Model.Data.Service.Attachments.Count > 0)
{

%><h3>Downloads for your service:</h3> <%

foreach (var attach in Model.Data.Service.Attachments)
{
%><%=attach.Name%>: https://<%= Request.Url.Host%> "/File/Download/" <%= attach.Id.ToString()%><br />
<% }

}%></span>

Или чтобы сделать его немного аккуратнее, попробуйте использовать string.Format вместо:

<span>
<%if (Model.Data.Service.Attachments.Count > 0)
{
%><h3>Downloads for your service:</h3> <%
foreach (var attach in Model.Data.Service.Attachments)
{
    %><%= string.Format("{0}: https://{1}/File/Download/{2}", attach.Name, Request.Url.Host, attach.Id) %><br />
<%}
}%></span>
1 голос
/ 29 февраля 2012

но я не верю, что здесь происходит

Вам лучше довериться компилятору.Я бы порекомендовал вам правильно сделать отступ в вашем коде, так как такие синтаксические ошибки легко увидеть:

<span>
<% if (Model.Data.Service.Attachments.Count > 0) { %>
    <h3>Downloads for your service:</h3> 
    <% foreach (var attach in Model.Data.Service.Attachments) { %>
        <%= attach.Name %>: https://<%= Request.Url.Host %> "/File/Download/" <%= attach.Id.ToString() %>
        <br />
    <% } %>
<% } %>
</span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...