0

我在 MVC 4 中从事一个项目,我正在利用 WebGrid 为我的模型显示各种数据元素。

目前,我的一个模型具有可容纳大量文本的文本属性。然而,当它通过 WebGrid 显示时,文本无法换行并扩展了网格的长度。不用说,这看起来非常难看,并且使文本难以阅读。

有没有办法:a)在 WebGrid 中包装特定列的文本 b)以某种方式使用 CSS 设置网格或列的样式以达到相同的效果。

我对这个主题做了很多研究,但还没有想出很多直接适用于这个简单场景的东西。

我找到的最有用的链接是这个,但它有点旧,并不能直接满足我的需求。

我无法想象为什么文本换行没有包含在 WebGrid 的基本实现中,但它似乎不是其完整功能的一部分。

有人有什么想法吗?

4

1 回答 1

1

你使用 CSS 来管理这种事情。WebGrid 呈现一个 HTML 表格,因此您可以为表格声明样式,并且它们将在网格呈现时被采用。

WebGrid 中还内置了一些 CSS 挂钩。您可以通过参数指定单个表使用的 CSS 类tableStyle

grid.GetHtml(tableStyle: "myStyle")

或者您可以在列级别应用样式:

grid.GetHtml(
    columns: grid.Columns(
        grid.Column(("ID"),
        grid.Column("MyText", style: "wordwrap")
    )
)

我在这里详细介绍了 WebGrid:http: //www.mikesdotnetting.com/Article/154/Looking-At-The-WebMatrix-WebGrid

要使用 CSS 换行,您需要table-layout: fixed在表格和word-wrap:break-word表格单元格上进行组合。例如,请参见此处:如何强制表格单元格 <td> 内容换行?

于 2013-09-08T16:20:25.280 回答