关于AJAX更新面板的问题

时间:2011-07-21 14:39:34

标签: ajax html asp.net-ajax updatepanel

这是我遇到的问题。我的表单上有5个按钮,它们彼此相邻(水平)。 5个按钮中的3个必须放在更新面板b / c这些按钮必须做AsyncPostBack,其他2个按钮需要在外面做回发。一切都按照我希望接受所有按钮不出现在同一条线上的方式工作。考虑到这些按钮的不同功能,我能做些什么让这5个按钮出现在同一条线上?

2 个答案:

答案 0 :(得分:1)

UpdatePanel呈现<div>您需要设置此div的样式,以便它显示inline请注意以下代码中的Style="display:inline"。根据您的布局,还有其他方法可以实现这一目标,但这是最直接的。

<asp:UpdatePanel ID="UpdatePanel1" runat="server" Style="display:inline">
    <ContentTemplate>
        <asp:Label ID="labelText" runat="server" Text="Label" />
        <asp:Button ID="Button1" runat="server" Text="Button1" />
        <asp:Button ID="Button2" runat="server" Text="Button2" />
        <asp:Button ID="Button3" runat="server" Text="Button3" />
    </ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="Button4" runat="server" Text="Button4" />
<asp:Button ID="Button5" runat="server" Text="Button5" />

答案 1 :(得分:0)

您无需在内部使用按钮使UpdatePanel正常工作。您只需将它们定义为AsyncPostBackTriggers即可。您不必担心会破坏您的布局。

<div class="toolbar">
    <asp:Button ID="Button1" runat="server" Text="Button1" />
    <asp:Button ID="Button2" runat="server" Text="Button2" />
    <asp:Button ID="Button3" runat="server" Text="Button3" />
</div>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Label ID="labelText" runat="server" Text="Label" />
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
        <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
        <asp:AsyncPostBackTrigger ControlID="Button3" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>