将第二个控件添加到表格单元格时,表中添加了不需要的新行

时间:2015-04-08 08:42:43

标签: c# asp.net html-table

我正在asp.net中创建一个表

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获取换行符?

1 个答案:

答案 0 :(得分:1)

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

正如已经提出的:不要使用Menü控件。使用简单的HyperLink控件或HyperLinkBut​​ton代替,这会创建一个简单的HTML A标记。

相关问题