C# 向tablecell添加第二个控件时在表中添加了不需要的换行符
我正在asp.net中创建一个表C# 向tablecell添加第二个控件时在表中添加了不需要的换行符,c#,asp.net,html-table,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));
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]
.....
....
为什么每次添加的
说明
都会换行?UL标签会创建换行符。这是所有HTML块元素的默认行为:
正如已经提出的:不要使用Menücontrol。改为使用简单的超链接控件或超链接按钮,这将创建一个简单的HTML标记 这里的代码非常奇怪-您没有对创建的表单元格执行任何操作,并且添加表行时没有在其中添加任何内容。您似乎还有一个恶意的右括号。我怀疑这不是您的实际代码…您能显示生成的HTML吗?因为这取决于菜单控件呈现的HTML。无论如何,我会使用超链接而不是菜单…抱歉,这不是在浏览器中呈现的结果HTML。请在浏览器中单击鼠标右键并显示页面的HTML源代码:),但该代码对
tc
仍然没有任何作用。(看看你在用tr
做什么:你创建它,并将它添加到表中,但不向其中添加任何内容。)@Jürgen更新。但是我不能真正改变html中的任何东西,它是生成html的代码隐藏。我看到菜单后面没有br,所以我猜menucontrols会在其后面添加br隐式?
[name]
[description]
[name]
[description]
.....
....