2013-06-07 2 views
3

Как-то я действительно застрял, я не знаю почему. Я уже читал о 3 сайтах от googling и т. Д., Но это не сработает для меня.ModalPopup не будет отображаться

В моей Aspxsite у меня есть:

<asp:TableCell> 
       <asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UP2"> 
        <%--<Triggers> 
         <asp:AsyncPostBackTrigger ControlID="ButtonAdd" EventName="Click" /> 
        </Triggers>--%> 
        <ContentTemplate> 
         <asp:Button ID="ButtonAdd" runat="server" Text="Add Product" onClick="AddProduct" /> 
         <asp:HiddenField ID="HFAdd" runat="server" Visible="false" /> 
         <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server" BackgroundCssClass="modalBackground" 
          TargetControlID="ButtonAdd" PopupControlID="PanelChoose" BehaviorID="MPEchoose"> 
         </ajaxToolkit:ModalPopupExtender> 
         <asp:Panel ID="PanelChoose" runat="server" BorderStyle="Solid" BackColor="ButtonShadow" Visible="false"> 
          <asp:Label ID="Label13" runat="server" Text="Please choose a product!"></asp:Label> 
          <asp:Table ID="Table3" runat="server"> 
           <asp:TableRow> 
            <asp:TableCell> 
             <asp:Button ID="ButtonOK" runat="server" Text="Ok" /> 
            </asp:TableCell> 
           </asp:TableRow> 
          </asp:Table> 
         </asp:Panel> 
        </ContentTemplate> 
       </asp:UpdatePanel> 
      </asp:TableCell> 

А в коде позади:

enter codprotected void AddProduct(object sender, EventArgs e) 
    { 

     if (ProductsDDL.SelectedValue.ToString() == "0") 
     { 
      Panel1.Visible = true; 
      ModalPopupExtender1.Show(); 
     } 
     else 
     { 
      ListItem product = new ListItem(ProductsDDL.SelectedItem.ToString(), ProductsDDL.SelectedValue.ToString(), true); 
      ProductLB.Items.Add(product); 
      product.Enabled = true; 
      product.Attributes.CssStyle.Add("Background-Color", LBcolour.Name.ToString());     
     }  
    } 

Ну, моя проблема:

он не будет делать AddProduct() ...

Что я уже пробовала:

Чтобы использовать HFAdd как TargetControllID, но он также не работал с .Show() в коде позади. Тогда, если я не установлю PanelChoose visible = "false", то он будет показан на веб-сайте.

Поэтому я установил его в false и попытался установить его в true в коде позади, но затем он также не отображается. Но потом работает, что он вставляет продукт с выбранным цветом. Но панель не отображается. Тогда многое другое, но не нужно здесь, насколько это не работает.

Пожалуйста, помогите!

+0

Noone? Я все еще придерживаюсь этой проблемы. – DatRid

ответ

0

Удовлетворительный проблема заключалась в UpdatePanel, вам необходимо установить триггер, и я выставиться Panel1s Visiblity к ложным ...

так удалить:

Panel1.Visible = true; 

Visible="false" 
Смежные вопросы