簡體   English   中英

在UpdatePanels ASP.Net之間進行通信

[英]Communicate between UpdatePanels ASP.Net

我在一個更新面板中放置了一個treeView,在一個更新面板中放置了每個視圖,就像這樣


   <UpdatePanel id="UP1">
     <ContentTemplate>
       <TreeView/>
     </ContentTemplate>
  </UpdatePanel>

   <MultiView>
    <UpdatePanel id="UP2">
      <View1/>
     </UpdatePanel>

現在,我想知道如何確保當我單擊TreeView的任何節點時,應該顯示相應的視圖

解決該問題的另一種方法是,如果您具有Treeview的click事件的代碼,則從背后的代碼中調用UP2.Update()。 請記住,UP2需要將其RenderMode設置為Conditional才能起作用。 希望能幫助到你

將AsyncPostBackTrigger添加到第二個updatePanel,以便在觸發TreeView Click事件時對其進行更新。

<Asp:UpdatePanel id="UP2">
   <View1/>
   <Triggers>
      <asp:AsyncPostBackTrigger ControlID="TreeView1" EventName="Click" />
   </Triggers>
</Asp:UpdatePanel>

好,這是一個有效的示例。

標記:

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <table style="width: 100%;">
        <tr>
            <td>
                <asp:UpdatePanel ID="upTreeView" runat="server">
                    <ContentTemplate>
                        <asp:TreeView ID="TreeView1" runat="server" 
                            onselectednodechanged="TreeView1_SelectedNodeChanged">
                            <Nodes>
                                <asp:TreeNode Text="GrandFather" Value="GrandFather">
                                    <asp:TreeNode Text="Father" Value="Father">
                                        <asp:TreeNode Text="Son" Value="Son"></asp:TreeNode>
                                    </asp:TreeNode>
                                </asp:TreeNode>
                            </Nodes>
                        </asp:TreeView>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </td>
            <td>
                <asp:UpdatePanel ID="upView" runat="server">
                    <ContentTemplate>
                        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="TreeView1" 
                            EventName="SelectedNodeChanged" />
                    </Triggers>
                </asp:UpdatePanel>
            </td>
        </tr>
     </table> 

后面的代碼:

    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
        Label1.Text = TreeView1.SelectedValue;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM