如何在.CSHTML中自动调整列宽?

时间:2014-04-03 15:46:34

标签: c# html asp.net-mvc razor visual-studio-2013

因此在MVC中,我使用VS2013的强大功能来自动生成列表类型的视图,该类型使用foreach以数组格式显示对象列表及其属性。如何修改代码以自动调整列宽以适应?

<table class="table">
    <tr>
        <th align="center">
            @Html.DisplayNameFor(model => model.IsoCode)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th align="center">
            @Html.DisplayNameFor(model => model.Continent)
        </th>
        <th align="center">
            @Html.DisplayNameFor(model => model.CountryId)
        </th>
        <th align="center">
            @Html.DisplayNameFor(model => model.TotalLanguages)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td align ="center">
            @Html.DisplayFor(modelItem => item.IsoCode)
        <td>
            @Html.DisplayFor(modelItem => item.Name)
        </td>
        <td align ="center">
            @Html.DisplayFor(modelItem => item.Continent)
        </td>
        <td align ="center">
            @Html.DisplayFor(modelItem => item.CountryId)
        </td>
        <td align ="center">
            @Html.DisplayFor(modelItem => item.TotalLanguages)
        </td>
        <td>
            @*@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |*@
            @Html.ActionLink("Details", "Details", new { id = item.CountryId })
            @*@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })*@
        </td>
    </tr>
}

1 个答案:

答案 0 :(得分:4)

首先,确保有足够的空间来显示表格单元格中的所有内容。如果要为表格提供明确的宽度(例如,使用像素作为度量单位),则可能无意中限制了tbe表格允许其呈现其内容的空间。这是您可以尝试的内容

  • 如果为表格或单元格设置显式宽度,则将其删除或使用动态单位,例如百分比
  • 为表格单元格设置white-space nowrap

试试看它是怎么回事