我有一个帮助器,它返回一个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,如何在视图中渲染?
答案 0 :(得分: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;
}
然后,您可以传递数据并使用您的值填充表格。
答案 1 :(得分:0)
View for for包含html输出。使用不同的“helper”(?)方法无法帮助您使代码无法维护。