将第二个控件添加到 table 单元格时,在 table 中添加了不需要的换行符

Unwanted newline added in a table when adding second control to a tablecell

我正在 asp.net

中创建 table
Table tbl = new Table();
foreach (var item in items)
{
    var tr = new TableRow();

    var lmc = new Menu();
    lmc.Width = Unit.Pixel(120);
    lmc.MenuItemClick +=lmc_MenuItemClick;
    lmc.Items.Add(new MenuItem(item.name));
    var tc = new TableCell();
    tc.Controls.Add(lmc);
    tc.Controls.Add(new Label() { Text = item.description });
    tr.Cells.Add(tc);
    tbl.Rows.Add(tr);                    

}

placeholder.Controls.Add(tbl);

我的 HTML 一行看起来像这样:

<tr>
    <td><a href="#_SkipLink"><img alt="Skip Navigation Links" src="[a source]" width="0" height="0" style="border-width:0px;" /></a><div class="menu" id="">
        <ul class="level1">
            <li><a class="level1" href="#" onclick="__doPostBack([stuff])">Name</a></li>
        </ul>
    </div><a id="_SkipLink"></a><span>Description</span></td><td></td>
</tr>

当运行这段代码的预期结果是:

[name][description]
[name][description]
.....

但我得到的是

[name]
[description]
[name]
[description]
.....
....

为什么我每添加一个 description 都会换行?

UL 标记创建换行符。这是所有 HTML 块元素的默认行为:http://www.w3schools.com/html/html_blocks.asp

如前所述:不要使用 Menü 控件。请改用简单的 HyperLink 控件或 HyperLinkBut​​ton,这会创建一个简单的 HTML A 标记。