2013-10-10 51 views
0

當前,我有一個下拉菜單,當選擇一個項目時,動態填充另一個下拉菜單。這在單獨查看頁面時完全正常,但是,當我在iframe中查看頁面時,在下拉菜單中更改選項時沒有任何反應。包含iframe的主頁面也有一個updatePanel,我覺得可能存在某種路由問題?也許更新無法區分面板,並且正在路由到主頁面中的面板?任何幫助感謝!UpdatePanel在查看頁面時工作,但不在iFrame內時工作

主頁面上的代碼看起來與主頁面上的代碼相同,我創建了一個項目,而在框架頁面中,我更新了一個項目。

編輯:UPDATE 我做了一個除了iframe之外沒有任何東西的測試頁,它仍然不起作用。似乎updatepanel在加載到iframe中時根本無法工作。

ASPX:

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <li> 
      <asp:DropDownList ID="CategorySelector" runat="server" AutoPostBack="True" OnSelectedIndexChanged="CategorySelector_SelectedIndexChanged"> 
       <asp:ListItem Text="--Please Select--" Value="none"></asp:ListItem> 
       <asp:ListItem Text="Everything"></asp:ListItem> 
       <asp:ListItem Text="Product"></asp:ListItem> 
       <asp:ListItem Text="Brand"></asp:ListItem> 
       <asp:ListItem Text="Category"></asp:ListItem> 
       <asp:ListItem Text="SubCategory"></asp:ListItem> 
      </asp:DropDownList> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator13" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="CategorySelector" ForeColor="#FF3300" InitialValue="none">*</asp:RequiredFieldValidator> 
      </li> 
     <li> 
      <asp:DropDownList ID="ItemSelector" runat="server"> 
      </asp:DropDownList></li> 
    </ContentTemplate> 
    </asp:UpdatePanel> 

代碼:

protected void CategorySelector_SelectedIndexChanged(object sender, EventArgs e) 

{ 
    if (CategorySelector.Text == "Product") 
     { 
      ItemSelector.DataSource = Product.GetAllActive(); 
      ItemSelector.DataTextField = "Name"; 
      ItemSelector.DataValueField = "ID"; 
      ItemSelector.DataBind(); 
     } 
     if (CategorySelector.Text == "Category") 
     { 
      ItemSelector.DataSource = Category.GetAllActive(); 
      ItemSelector.DataTextField = "Name"; 
      ItemSelector.DataValueField = "ID"; 
      ItemSelector.DataBind(); 
     } 
     if (CategorySelector.Text == "SubCategory") 
     { 
      ItemSelector.DataSource = SubCategory.GetAllActive(); 
      ItemSelector.DataTextField = "Name"; 
      ItemSelector.DataValueField = "ID"; 
      ItemSelector.DataBind(); 
     } 
     if (CategorySelector.Text == "Brand") 
     { 
      ItemSelector.DataSource = Brand.GetAllActive(); 
      ItemSelector.DataTextField = "Name"; 
      ItemSelector.DataValueField = "ID"; 
      ItemSelector.DataBind(); 
     } 
     if (CategorySelector.Text == "Everything") 
     { 
      ItemSelector.Items.Clear(); 
      ItemSelector.Items.Add("Everything"); 
     } 
} 

回答

0

這個問題似乎一直是我使用的fancybox的設置爲iFrame的頁面。我忘了將類型iframe添加到花哨框設置中,導致整個頁面呈現爲內聯。

$(".modify").fancybox({ 
    'type': 'iframe' 
}); 

如上所述添加類型iframe修復了問題。

+0

它總是這些小東西:) – Zerkey

相關問題