如何在<中设置列? td> HTML中的元素<表格>?

时间:2015-09-20 21:23:38

标签: html css razor asp.net-mvc-5

以下输出:

enter image description here

由以下代码提供:

<table class="table container">
  <tr>
    <th class="col-md-1 text-center">
      @Html.DisplayNameFor(Function(model) model.SurveyResults.FirstOrDefault().QuestionNum)
    </th>
    <th class="col-md-2 text-center">
      @Html.DisplayNameFor(Function(model) model.SurveyResults.FirstOrDefault().QuestionText)
    </th>
    .
    .
    .
    <th class="col-md-2">
      @Html.DisplayNameFor(Function(model) model.SurveyResults.FirstOrDefault().Answers)
    </th>
  </tr>

  @For Each item In Model.SurveyResults
    @<tr>
      <td class="col-md-1 text-center">
        @Html.DisplayFor(Function(modelItem) item.QuestionNum)
      </td>
      <td class="col-md-2">
        @Html.DisplayFor(Function(modelItem) item.QuestionText)
      </td>
    .
    .
    .
      <td class="col-md-2">
        @For Each ans In item.Answers
          @ans.AnswerText
          @ans.AnswerStats
          @<br />
        Next
      </td>
    </tr>
  Next
</table>

答案列中,括号中的字符串是有关答案的统计信息。我希望统计信息显示为答案右侧的另一列。答案最终将有不同的长度,并且统计数据需要显示在右侧垂直排列。上面的代码将始终显示答案文本末尾的统计信息,无论何时发生。

我尝试了来自SO和其他论坛的几个想法,但无法弄清楚如何轻松创建2个子列&#39;在答案&lt; td&gt;每个&lt; tr>行。我想坚持使用Razor / HTML代码。

2 个答案:

答案 0 :(得分:0)

您必须在answers td元素中添加另一个表。

我认为这非常相似: Html table tr inside td

答案 1 :(得分:0)

用于实现我的目标的代码如下所示,但是,解决方案归功于并归功于上面的Hieu Le的帖子。

我只是展示放置子表的代码部分,这是最后一个&lt; td&gt;原始帖子中显示的Razor代码部分。

<td>
  <table>
    @For Each ans In item.Answers
      @<tr>
         <td class="col-md-2" style="border-top: none; padding: 0">@ans.AnswerText</td>
         <td class="col-md-1" style="border-top: none; padding: 0">@ans.AnswerStats</td>
      </tr>
    Next
  </table>
</td>

上面的Razor代码产生了以下介绍。我对页面进行了其他更改,页面尚未完成,因此忽略了字段名称的粗略显示而不是显示名称。但是观察的地方就在Answers专栏中。您可以看到之前仅由空格分隔的两个字段现在显示在单独的列中。额外的样式元素只是为了消除额外的边界线,这会削弱整体演示。

enter image description here