ModalPopup不会出现

时间:2013-06-07 09:40:32

标签: c# asp.net modalpopupextender buttonclick

不知怎的,我真的卡住了,我不知道为什么。我已经阅读了谷歌搜索等3个网站,但它不适合我。

在我的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 =&#34; false&#34;然后它会在网站上显示出来。

所以我将它设置为false并尝试在后面的代码中将其设置为true,但是它也没有显示出来。但是它的工作原理是它插入了一个具有所选颜色的产品。但小组没有显示出来。然后还有许多其他的东西,但这里不需要,只要它真的不起作用。

请帮助我!

1 个答案:

答案 0 :(得分:0)

好的问题是UpdatePanel,你需要设置触发器,我将Panel1s Visiblity设置为false ...

所以删除:

Panel1.Visible = true;

Visible="false"