Jon*_*Jon 8 .net c# asp.net-mvc asp.net-mvc-3
我今天和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;
}
Run Code Online (Sandbox Code Playgroud)
ady*_*suf 15
你分成<div class="orderdetail">两部分.开始标记在第一个if块中,结束标记在第二个if块中.
我认为这对Razor来说很困惑.
尝试div在一个if区块中打开和关闭.
如果您已经在代码块中,则不再需要@ -prefix代码构造...您的代码块以@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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12280 次 |
| 最近记录: |