【问题标题】:UpdatePanel Problem更新面板问题
【发布时间】:2010-07-20 18:56:16
【问题描述】:

我有一个 UpdatePannel 按钮,TextBox.Button 在 UpdatePannel 控件内,TextBox 在面板控件之外,所以我想在按钮单击时在 TextBox 中打印一些文本,该按钮位于 UpdatePannel 控件内。

<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
    <asp:Button ID="Button1" runat="server" Text="Button" />
</ContentTemplate>
</asp:UpdatePanel>

有什么想法吗????

我希望 TextBox 位于 SAME UpdatePannel.Button 之外

【问题讨论】:

  • 您有什么要求,TextBox 必须在 UpdatePanel 之外吗?

标签: asp.net asp.net-ajax updatepanel


【解决方案1】:

其实TextBox应该在更新面板里面或者外面有更新面板的触发器

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" />   
    </ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
    </ContentTemplate>
    <Triggers>     
        <asp:AsyncPostBackTrigger ControlID="Button1" />     
    </Triggers> 
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" Text="Button" />

【讨论】:

  • 只是作为对 OP 的进一步解释:更新面板的目的是封装您希望通过该 ajax 调用更新的页面上的所有控件。该面板之外的任何内容都不会更新。
【解决方案2】:

asp:Textbox 放在UpdatePanel 中,因为这是您要在回发期间更新的控件...

【讨论】:

    【解决方案3】:

    PostBackTrigger 将为您发布该页面:

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    
    <Triggers>
         <asp:PostBackTrigger ControlID="Button1" />
    </Triggers>
    

    注意:正如其他人所提到的,根据您的要求,您可以将 TextBox 放在 UpdatePanel 中。

    【讨论】:

      【解决方案4】:

      将文本框放在更新面板中。这就是面板的用途。

      【讨论】:

        【解决方案5】:

        您应该将更新面板放在 TextBox 周围。该按钮可以在更新面板内,但如果您不希望它在更新面板内,您可以使用更新面板的触发器并将其设置为按钮 ID。

        【讨论】:

          猜你喜欢
          • 2011-09-02
          • 1970-01-01
          • 2011-08-19
          • 1970-01-01
          • 2020-10-19
          • 2018-12-23
          • 2022-01-06
          相关资源
          最近更新 更多