2017-06-27 17 views
-1

如何在這種情況下正確使用@if?使用條件

它總是告訴我expected ;,但它不起作用。

這裏是我的代碼:

@foreach (var item in Model) 
{ 
    <tr> 
     <td> 
      @Html.ActionLink(item.Client.Surname + ", " + item.Client.FirstName, "Details", "Assessments", new { id = item.ClientID }, null) 
     </td> 
     <td> 
      @if (item.Doctor.Surname != null) 
      { 
       @Html.DisplayFor(modelItem => item.Doctor.Surname) , @Html.DisplayFor(modelItem => item.Doctor.FirstName) 
      } //here -- ; expected-- i tried adding ; but it doesn't work 

     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.ReferFor) 
     </td> 
} 

我希望發生的是,當Doctor.Surname爲空時,它會留下一個空白<td>

+0

在哪一行它說 - 預期; – Yogi

+0

@Yogi我編輯我的職務,所以你可以看到哪些行 – kielou

+0

裹在''逗號 - '@ Html.DisplayFor(..)'@ Html.DisplayFor(..)' –

回答

1

可以使用例如跨度解決這個問題:

<table> 
    @foreach (var item in Model) 
    { 
     <tr> 
      <td> 
       @Html.ActionLink(item.Client.Surname + ", " + item.Client.FirstName, "Details", "Assessments", new { id = item.ClientID }, null) 
      </td> 
      <td> 
       @if (item.Doctor.Surname != null) 
       { 
        <span>@Html.DisplayFor(modelItem => item.Doctor.Surname) , @Html.DisplayFor(modelItem => item.Doctor.FirstName)</span> 
       } 
       else 
       { 
        <span>&nbsp;</span> 
       } 

      </td> 
      <td> 
       @Html.DisplayFor(modelItem => item.ReferFor) 
      </td> 
     </tr> 
    } 
</table> 
1

考慮以下行 -

@Html.DisplayFor(modelItem => item.Doctor.Surname) , @Html.DisplayFor(modelItem => item.Doctor.FirstName) 

在這行,,用於行,這是導致錯誤。

您應該改用@Html.Raw(" , ")。因此,聲明將成爲 -

@Html.DisplayFor(modelItem => item.Doctor.Surname) @Html.Raw(" , ") @Html.DisplayFor(modelItem => item.Doctor.FirstName) 
+0

我試過,似乎它會工作,但不幸的是我得到了一個新的錯誤 – kielou

+0

@kielou什麼錯誤? – Yogi

+1

'