不知怎的,我真的卡住了,我不知道为什么。我已经阅读了谷歌搜索等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,但是它也没有显示出来。但是它的工作原理是它插入了一个具有所选颜色的产品。但小组没有显示出来。然后还有许多其他的东西,但这里不需要,只要它真的不起作用。
请帮助我!
答案 0 :(得分:0)
好的问题是UpdatePanel,你需要设置触发器,我将Panel1s Visiblity设置为false ...
所以删除:
Panel1.Visible = true;
Visible="false"