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

ビューには、HTML 出力が含まれています。別の「ヘルパー」(?) メソッドを使用しても、コードを保守できなくするだけでは役に立ちません。

于 2012-11-23T15:51:05.457 に答える
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 に答える