В блоке foreach отсутствует закрывающий символ "}" - PullRequest
8 голосов
/ 12 марта 2012

У меня сегодня весело с Razor!Можете ли вы увидеть, что не так с этим представлением и объяснить, почему это ошибки?

@foreach (var item in Model){

if (item.ID != PreviousOrderId){
    <div class="orderdetail">
        <div class="customer">
            <p class="strong">OrderID:</p> 
            <p>@item.ID</p>
            <p class="strong">Order Date:</p>
            <p>@String.Format("{0:g}", TimeZoneInfo.ConvertTime(item.DateInitialised, TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time")))</p>
            <p class="strong">Customer Name:</p> 
            <p>@item.WebsiteUser.Name</p>
            <p class="strong">Practice Name:</p>
            <p>@item.WebsiteUser.PracticeName</p>
            <p class="strong">Customer E-Mail:</p> 
            <p>@item.WebsiteUser.EMailAddress</p>
        </div>
   }



    <div class="detail">
        <span class="strong">Licence Key:</span><span>@item.Licence.LicenceKey</span>
        <span class="strong">Serial No:</span><span>@item.Licence.SerialNumber</span>
    </div>               

   @if (item.ID != PreviousOrderId && PreviousOrderId != 0){
    </div>
    <div class="clear"></div>
   }        

PreviousOrderId = item.ID;
}

Ответы [ 2 ]

15 голосов
/ 12 марта 2012

Вы разделили <div class="orderdetail"> на две части.Открывающий тег находится в первом if блоке, закрывающий тег находится во втором if блоке.

Мне кажется, это немного запутанно для Razor.

Попробуйте открыть и закрыть свой div в одном if блоке.

9 голосов
/ 12 марта 2012

если вы уже находитесь внутри кодового блока, вам больше не нужно @ -префиксировать кодовые конструкции ... ваш кодовый блок начинается с @ foreach.

@foreach (var x in new string[] { "x", "y" ])
{
    if (userGuid != ViewBag.x)
   {
    @:<div class="orderdetail">
    <div class="customer">
        <p class="strong">OrderID:</p> 
        <p>@item.ID</p>
        <p class="strong">Order Date:</p>
        <p>@String.Format("{0:g}", TimeZoneInfo.ConvertTime(item.DateInitialised</p>
        <p class="strong">Customer Name:</p> 
        <p>@item.WebsiteUser.Name</p>
        <p class="strong">Practice Name:</p>
        <p>@item.WebsiteUser.PracticeName</p>
        <p class="strong">Customer E-Mail:</p> 
        <p>@item.WebsiteUser.EMailAddress</p>
    </div>
    }
    <div class="detail">
        <span class="strong">Licence Key:</span><span>@item.Licence.LicenceKey</span>
        <span class="strong">Serial No:</span><span>@item.Licence.SerialNumber</span>
    </div>               

if (userGuid != ViewBag.x && ViewBag.x != 0)
{
    @:</div>
    <div class="clear"></div>
}      
PreviousOrderId = item.ID;    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...