1

我有一个返回 htmlTable 以供查看的助手。编码:

public static HtmlTable Sales(this HtmlHelper helper)
        {
            HtmlTable tabela = new HtmlTable();
            HtmlTableRow rowHeader = new HtmlTableRow();
            HtmlTableCell cellCode = new HtmlTableCell();
            HtmlTableCell cellUnd = new HtmlTableCell();
            HtmlTableCell cellDescription = new HtmlTableCell();
            HtmlTableCell cellQtd = new HtmlTableCell();

            tabela.Width = "800px";

            cellCode.InnerText = "Código";
            cellUnd.InnerText = "Unidade";
            cellDescription.InnerText = "Descrição";
            cellQtd.InnerText = "QTD";


            cellCode.Focus();

            rowHeader.Cells.Add(cellCode);
            rowHeader.Cells.Add(cellUnd);
            rowHeader.Cells.Add(cellDescription);
            rowHeader.Cells.Add(cellQtd);

            tabela.Rows.Add(rowHeader);

            return tabela;
        }

但我的观点只是:

System.Web.UI.HtmlControls.HtmlTable

我的回报是 HtmlTable,如何在视图中呈现这个?

4

2 回答 2

0

如评论中所述,此答案仅在您使用 Razor ViewEngine 时适用。

问题是 Razor 引擎不知道如何处理System.Web.UI.HtmlControls.HtmlTable

您应该尝试使用常规 HTML 标记来构建表格,例如:

public static MvcHtmlString Sales(this HtmlHelper helper)
        {


            MvcHtmlString tabela = new MvcHtmlString(@"
<table style=""width: 800px"">
    <thead>
        <tr>
            <th>Código</th>
            <th>Unidade</th>
            <th>Descrição</th>
            <th>QTD</th>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>
");

            return tabela;
        }

然后,您可以传递您的数据并用您的值填充表格。

于 2012-11-22T14:45:02.180 回答
0

视图用于包含 html 输出。使用不同的“帮助器”(?)方法不会帮助您使您的代码无法维护。

于 2012-11-23T15:51:05.457 回答