解决用户控件中的子控件与用户控件的外边界有一段空白的问题。
我们在做网站时,要在首页显示多个栏目的新闻列表,一般会自己做一个用户控件NewsListControl.ascx,但是突然发现,用户控件中的GridView或Reapter服务器控件与NewsListControl.ascx外边界有一段空白的距离,其实是html盒模型在作祟,解决办法是将新闻列表的<ul>的外边框设置为0,也就是margin:0,然后将新闻标题的外边框设置为0,也就是<h2>的margin:0就行了。
<div class="Box">
<h2 style="margin:0;"></h2>
<ul style="margin:0;">
<asp:Repeater runat="server" ID="RepeaterNewsList">
<ItemTemplate>
<li>
<div class="NewsAddedDate"><%# DateTime.Parse(Eval("AddedDate").ToString()).ToString("yyyy-MM-dd") %></div>
<a href="../NewsList.aspx" title='<%# Eval("Title") %>'><%# Eval("Title").ToString().PadRight(30,' ').Substring(0,30) %></a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
<h2 style="margin:0;"></h2>
<ul style="margin:0;">
<asp:Repeater runat="server" ID="RepeaterNewsList">
<ItemTemplate>
<li>
<div class="NewsAddedDate"><%# DateTime.Parse(Eval("AddedDate").ToString()).ToString("yyyy-MM-dd") %></div>
<a href="../NewsList.aspx" title='<%# Eval("Title") %>'><%# Eval("Title").ToString().PadRight(30,' ').Substring(0,30) %></a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>