我正在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
获取换行符?
答案 0 :(得分:1)
UL标记创建换行符。这是所有HTML块元素的默认行为:http://www.w3schools.com/html/html_blocks.asp
正如已经提出的:不要使用Menü控件。使用简单的HyperLink控件或HyperLinkButton代替,这会创建一个简单的HTML A标记。