UpdatePanel仅从事件更新

时间:2013-01-31 08:05:41

标签: asp.net ajax updatepanel

你好每个人我的问题都是这样的 我有两个updatepannels

  <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,所以我可以 更新是来自第二个updatepanel asp的内容:按钮ID ='Button8'OnClick ='hidegive' 使用Update()方法轻松地事件。

这是事件处理程序:

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();**
    }

我的问题是我无法从我页面上的reguler方法更新第一个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();**

    }

感谢您的帮助......

1 个答案:

答案 0 :(得分:0)

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

  <Triggers>
                      <asp:AsyncPostBackTrigger ControlID="Button8" EventName="Click"/>
                    </Triggers>