0

大家好,我的问题是这样的,我有两个更新面板

  <asp:UpdatePanel ID="new_word_panel_UpdatePanel" runat="server" UpdateMode="Conditional">
     <ContentTemplate >    
          <asp:Panel ID='new_word_panel' runat="server">
            <asp:Button ID='new_word_btn' runat="server" Text='give me a new word' Visible='false' OnClick='GenNewWord' />            
          </asp:Panel>
    </ContentTemplate>

 </asp:UpdatePanel>  
 <asp:UpdatePanel ID="UpdatePanel1" runat="server" >
     <ContentTemplate > 
  <asp:Button ID='Button8' runat="server" Text='hide' OnClick='hidegive' />
   </ContentTemplate>
 </asp:UpdatePanel> 

第一个 updatepanel UpdateMode 设置为 Conditional,因此我可以使用 Update() 方法轻松更新来自第二个 updatepanel asp:Button ID='Button8' OnClick='hidegive' 事件的内容。

这是事件处理程序:

protected void hidegive(object sender, EventArgs e)
    {
        if (new_word_btn.Visible == true)
            new_word_btn.Visible = false;
        else
            new_word_btn.Visible = true;


        **new_word_panel_UpdatePanel.Update();**
    }

我的问题是我无法从我的页面上的调节器方法更新第一个 UpdatePanel 虽然我使用的是 Update() 方法,但我尝试从这个方法更新面板并且没有任何问题:

void PlayerWinEventHandler(object sender,Game.PlayerWinEventArgs e)
    {


        Session["score"] = int.Parse(Session["score"].ToString()) + 10;
        UpdateScore();


        if (new_word_btn.Visible == true)
            new_word_btn.Visible = false;
        else
            new_word_btn.Visible = true;

        new_word_btn.Text = "zibi";
        **new_word_panel_UpdatePanel.Update();**

    }

感谢您的帮助...

4

1 回答 1

0

为什么不在第一个更新面板中使用触发器。

  <Triggers>
                      <asp:AsyncPostBackTrigger ControlID="Button8" EventName="Click"/>
                    </Triggers>
于 2013-02-04T07:14:53.370 回答