ASP.NET MVC剃须刀设计表带有rowspan



如何在剃须刀视图中使用rowspan在表中合并单元格?我想自动合并日期和链接单元格,因此我只有一个从给定的一天中的所有数据中的一个,而不是每行中的"日期"one_answers"链接"单元格。我尝试使用条件来解决它,但是我遇到了一个错误(我猜是语法问题(,或者我得到的结果与我想要的不同(示例代码下降(。

<tbody>
    @foreach (var dayIncidentPair in Model.List)
                   {
                       <tr>
                           <td rowspan="@dayIncidentPair.Item3.Count()">Finded segment in @dayIncidentPair.Datetime.ToString("d")</td>
                           <td rowspan="@dayIncidentPair.Item3.Count()"><a href="~/path">Link here</a></td>
                           @{int i = 0; }
                           @foreach (var segmentInfo in dayIncidentPair.Item3)
                           {
                               if (i > 0)
                               {
                                   <text></tr>
                                   <tr></text>
                               }
                               <td>@segmentInfo.MValue1.Time.ToString("t")</td>
                               <td>@String.Format("{0:f1}", @segmentInfo. MValue1.Value)</td>
                               <td>@segmentInfo.MValue1.Type</td>
                               <td>@segmentInfo.MValue2.Time.ToString("t")</td>
                               <td>@String.Format("{0:f1}", @segmentInfo.MValue2.Value)</td>
                               <td>@segmentInfo.MValue2.Type</td>
                               i++;
                           }
                           </tr>
                   }
    </tbody>

我想要这样的东西

╔════════════╦════════════╦═════════╦══════════╦═════════╦═════════╦══════════╦═════════╗
║    Date    ║    Link    ║ Time V1 ║ Value V1 ║ Type V1 ║ Time V2 ║ Value V2 ║ Type V2 ║
╠════════════╬════════════╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣
║ 25.01.2017 ║    Link    ║         ║          ║         ║         ║          ║         ║
║            ║   to XXX   ║    9:10 ║     1.1  ║     A   ║    9:15 ║     5.3  ║     Q   ║
║            ║            ║         ║          ║         ║         ║          ║         ║
║            ╠            ╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣
║            ║            ║         ║          ║         ║         ║          ║         ║
║            ║            ║    9:30 ║     2.0  ║     B   ║   11:30 ║     4.1  ║     A   ║
║            ║            ║         ║          ║         ║         ║          ║         ║
╠════════════╬════════════╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣
║ 26.01.2017 ║ Linkto XYX ║         ║          ║         ║         ║          ║         ║
║            ║            ║   11:50 ║     6.2  ║     A   ║   14:27 ║     5.3  ║     P   ║
║            ║            ║         ║          ║         ║         ║          ║         ║
╠════════════╬════════════╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣
║ 27.01.2017 ║ Linkto XXY ║         ║          ║         ║         ║          ║         ║
║            ║            ║    8:03 ║     2.5  ║     Q   ║    9:47 ║     2.5  ║     A   ║
║            ║            ║         ║          ║         ║         ║          ║         ║
║            ╠            ╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣
║            ║            ║         ║          ║         ║         ║          ║         ║
║            ║            ║   13:21 ║     4.6  ║     A   ║   14:53 ║     4.3  ║     C   ║
║            ║            ║         ║          ║         ║         ║          ║         ║
║            ╠            ╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣
║            ║            ║         ║          ║         ║         ║          ║         ║
║            ║            ║   15:10 ║     7.4  ║     C   ║   15:45 ║     7.3  ║     B   ║
║            ║            ║         ║          ║         ║         ║          ║         ║
╚════════════╩════════════╩═════════╩══════════╩═════════╩═════════╩══════════╩═════════╝

我从另一个角度查看了问题,我找到了一个解决方案。显然,通过IF条件标记HTML标签存在问题。

因此,解决方案不使用标签<text>,而是使用@:

<tbody>
    @foreach (var dayIncidentPair in Model.List)
                   {
                       <tr>
                           <td rowspan="@dayIncidentPair.Item3.Count()">Finded segment in @dayIncidentPair.Datetime.ToString("d")</td>
                           <td rowspan="@dayIncidentPair.Item3.Count()"><a href="~/path">Link here</a></td>
                           @{int i = 0; }
                           @foreach (var segmentInfo in dayIncidentPair.Item3)
                           {
                               if (i > 0)
                               {
                                   @:</tr><tr>
                               }
                               <td>@segmentInfo.MValue1.Time.ToString("t")</td>
                               <td>@String.Format("{0:f1}", @segmentInfo...

最新更新