2014-12-04 21 views
0

起初請參閱下面的代碼。動態加載現有面板導致回發問題

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="test.aspx.vb" Inherits="BLL.test" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
<form id="form1" runat="server"> 
    <div> 
     <asp:Panel ID="pnlCustom" runat="server"></asp:Panel> 
     <asp:Panel ID="pnlDiv1" runat="server"> 
      <asp:DropDownList ID="ddl_Status" runat="server"></asp:DropDownList> 
     </asp:Panel> 
     <asp:Panel ID="pnlDiv2" runat="server"> 
      <asp:DropDownList ID="ddlImg1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlImg1_SelectedIndexChanged"></asp:DropDownList> 
     </asp:Panel> 
     <asp:Panel ID="pnlDiv3" runat="server"> 
      <asp:DropDownList ID="ddlImg2" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlImg2_SelectedIndexChanged"></asp:DropDownList> 
     </asp:Panel> 
    </div> 
</form> 
</body> 
</html> 

我想按照需求以不同的順序隱藏和顯示面板。我不想改變面板的內容。 pnlDiv1,pnlDiv2,pnlDiv3將在pnlCustom中綁定。

現在,在Page_Load事件中我設置的所有面板風格,以「顯示:無」,除了「pnlCustom」和動態添加pnlDiv1/pnlDiv2/pnlDiv3在「pnlCustom」,並設置其風格爲「顯示:內聯」。

在我的應用程序的問題是如果我更改「ddlImg1」的值頁面獲取回發和所有值重置。這與「ddlImg2」相同。

注意:如果Page_Load中的值不回發,值將綁定到下拉列表中。所以,任何人都可以解釋什麼是問題?

+0

如果你設置ddlImg1&ddlImg2的AutoPostBack = 「假」?這能解決你的問題嗎? – 2014-12-04 08:25:25

+0

並且您將哪些事件插入到「pnlCustom」中? – 2014-12-04 08:31:29

+0

我在Page_Load事件中將孩子插入「pnlCustom」。如果我設置autoPostBack =「true」,那麼整個頁面將重新加載,並且不會加載「ddlStatus」的值。 – 2014-12-04 10:42:49

回答