【问题标题】:Razor Syntax Missing } characterRazor 语法缺少 } 字符
【发布时间】:2012-03-12 11:06:39
【问题描述】:

我认为这是一个小学生的错误,但您能否向我解释一下并提供解决此视图为何不起作用的问题:

@{
    int PreviousOrderId = 0;
}


@foreach (var item in Model) {

<div class="orderdetail">


@if (item.ID != PreviousOrderId){

    <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><div style="width:140px; overflow:auto;">@item.Licence.LicenceKey</div></span>
        <span class="strong">Serial No:<span><span>@item.Licence.SerialNumber</span>
    </div>               

    <div class="clear></div>
</div>
@{
   PreviousOrderId = item.ID;
}

}

【问题讨论】:

    标签: c# .net asp.net-mvc asp.net-mvc-3


    【解决方案1】:

    在 span-tag 附近缺少 /,在 clear-div-tag 中的 class 属性附近缺少 ",并且 PreviousOrderId = item.ID 周围的 @{ } 不是必需的

    @{
        int PreviousOrderId = 0;
    }
    
    
    @foreach (var item in Model) {
    
    <div class="orderdetail">
    
    
    @if (item.ID != PreviousOrderId){
    
        <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><div style="width:140px; overflow:auto;">@item.Licence.LicenceKey</div></span>
            <span class="strong">Serial No:</span><span>@item.Licence.SerialNumber</span>
        </div>               
    
        <div class="clear"></div>
    </div>
    
       PreviousOrderId = item.ID;
    
    
    }
    

    【讨论】:

    • 谢谢!导致问题的是没有结束字符的“清晰”div!
    • @ChrisB:下次请指出代码出了什么问题,而不是发布固定代码。是不是性格有问题?
    • 糟糕,我忘记了。跨度标记附近缺少/,clear-div-tag 中的类属性附近缺少",并且不需要PreviousOrderId = item.ID 周围的@{}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多