2013-01-23 46 views
0

我有一個會場一個簡單的關係,其中我有多個時隙和我想顯示在每個時隙中的多個會話。麻煩三套桌隨着ASP.NET /實施例剃刀如下明確

下面的代碼工作正常,但是我已經在外部編碼塊使用@ Html.Raw(「」)。如果我只是嘗試把原始HTML(如ABCD右上方第一個@ Html.Raw(「」)),我得到一個編譯器錯誤。我對剃刀很新,只是沒有得到我如何能使我的生活簡單和嵌套的foreach有真正的HTML代碼,而不必擁有一切包在一個輔助方法。

感謝。

@Html.Raw("<table id='myTable' border='1'>") 

    @foreach (var sessionTime in Model.SessionsByTime) 
    { 
     @Html.Raw("<tr>") 
     @Html.Raw("<td>") 
     @sessionTime.StartTimeFriendly 
     @Html.Raw("</td>") 
     @Html.Raw("<td></td>") 
     @Html.Raw("</tr>") 

     @Html.Raw("<table>") 
      foreach (var session in sessionTime.sessionsResults) 
      { 
      <tr> 
       <td width="300"></td> 
       <td width="300">@session.Title</td> 
      </tr> 
      } 
     @Html.Raw("</table>") 
    } 

回答

2

這看起來應該像THID

<table id='myTable' border='1'> 
@foreach (var sessionTime in Model.SessionsByTime) 
{ 
    <tr> 
     <td>@sessionTime.StartTimeFriendly</td> 
     <td></td> 
    </tr> 
    <table> 
     @foreach (var session in sessionTime.sessionsResults) 
     { 
     <tr> 
      <td width="300"></td> 
      <td width="300">@session.Title</td> 
     </tr> 
     } 
    </table> 
} 
</table> 

,如果您需要用來標記一些不包含在html標籤中的文本需要使用@:

@foreach(var s in list) { 
    @: hello there @s 
    <text>this also work instead of @: and is usuful 
    when you need more than one line 
    </text> 
} 

如果你是一個代碼塊的HTML標籤內,而不是裏面,剃刀會認爲你只是在編寫代碼,這就是爲什麼@:<text>需要