0

こんにちは、私の問題は次のようになります。2 つの更新パネルがあります。

  <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() メソッドを使用して、2 番目の 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();**
    }

私の問題は、Update() メソッドを使用しているにもかかわらず、ページのレギュラー メソッドから最初の UpdatePanel を更新できないことです。このメソッドからパネルを更新しようとしましたが、何も起こりません:

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 に答える