如何并排显示两个asp:Panel控件?

时间:2013-05-14 13:22:23

标签: c# asp.net css

我有两个面板。我想及时向他们展示,但他们没有。

的.aspx:

<asp:Panel ID="treeviewMenu" Width="20%" Height="500" runat="server" ScrollBars="Both" HorizontalAlign="Left">
    <asp:TreeView ID="treeview" runat="server" ShowLines="True" ImageSet="XPFileExplorer" OnSelectedNodeChanged="treeview_SelectedNodeChanged">
    </asp:TreeView>
</asp:Panel>

<asp:Panel ID="qvObjektMenu" Width="75%" Height="500" runat="server"  HorizontalAlign="Right">
    <asp:Table runat="server" HorizontalAlign="Right">
        <asp:TableRow>
            <asp:TableCell>
                <asp:Label runat="server">
                    QVObjekt Id:
                </asp:Label>
            </asp:TableCell>
            <asp:TableCell>
                <asp:Label ID="qvObjektId" runat="server"></asp:Label>
            </asp:TableCell>
        </asp:TableRow>
    </asp:Table>
</asp:Panel>

我在这两个元素之外使用了一个表,围绕它们的另一个Panel,没有任何作用。 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:10)

这里的答案是CSS。在CSS中有一些选项可供选择。

选项1:display:inline-block;

该css的一个选项是使用display: inline-block;

<style type="text/css">
   .inlineBlock { display: inline-block; }
</style>

加上在<asp:Panel ...>标签中设置:

<asp:Panel ID="treeviewMenu" ... CssClass="inlineBlock">
    ...
</asp:Panel>

<asp:Panel ID="qvObjektMenu" ... CssClass="inlineBlock">
    ...
</asp:Panel>

选项2a:float:left;

Wim's answer中提到的另一个选项是使用浮点数。但是我不认为你想要将两个面板组合起来都有漂浮物 - 我怀疑你只想要一个或另一个。之一:

<style type="text/css">
.floatLeft { float: left; }
</style>

<asp:Panel ID="treeviewMenu" ... CssClass="floatLeft">
    <asp:TreeView ID="treeview" runat="server" ShowLines="True" ImageSet="XPFileExplorer" >
    </asp:TreeView>
</asp:Panel>

(与其他面板一样,目前在您的标记中)

OR

选项2b:float:right;

<style type="text/css">
.floatRight { float: right; }
</style>

 <asp:Panel ID="qvObjektMenu" ... CssClass="floatRight">
    ...
</asp:Panel>

答案 1 :(得分:1)

小组将呈现为DIV元素,因此使用css float:leftfloat:rightmargin应该有效。