C# 用户控件对齐

C# 用户控件对齐,c#,asp.net,user-controls,C#,Asp.net,User Controls,我有一个ASP.Net用户控件,看起来像这样: <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication2.WebUserControl1" %> <table> <tr> <td> <asp:

我有一个ASP.Net用户控件,看起来像这样:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs"
    Inherits="WebApplication2.WebUserControl1" %>
    <table>
        <tr>
            <td>
                <asp:Image ID="Image1" runat="server" Width="100" Height="100" ImageUrl="~/Logo.png" />
            </td>
        </tr>
        <tr>
            <td>
                Test
            </td>
        </tr>
    </table>

试验
此外,我还有一个ASP web表单:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>
<%@ Register Tagprefix="uc1" Tagname="uc1" Src=".\WebUserControl1.ascx" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <span>
        <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
    </span>
    </form>
</body>
</html>

当我在运行时使用以下命令添加多个UserControl时:

protected void Page_Load(object sender, EventArgs e)
{
    for (int i = 0; i < 5; i++)
    {
        var test = LoadControl(@"~\WebUserControl1.ascx");
        PlaceHolder1.Controls.Add(test);    
    }

}
受保护的无效页面加载(对象发送方,事件参数e)
{
对于(int i=0;i<5;i++)
{
var test=LoadControl(@“~\WebUserControl1.ascx”);
占位符1.控件。添加(测试);
}
}
它们被添加到占位符中,但在另一个占位符下方对齐。我想把它们一个接一个地放在一起。这是否可能?如果可能,如何实现


问候

使您的桌子浮动:右侧,例如:

<table style="float:left">
    ...
</table>

...
或者更干净的解决方案:在用户控件的内容周围放置一个div,并将div设置为float:right:

<%@ Control Language="C#" ... %>
<div style="float:right">  
<table>
  ...
</table>
</div>

...
顺便说一句:如果页面不够宽,无法在一行上显示所有表,那么使用此解决方案将它们包装到新行