通过C#代码隐藏打开CSS弹出窗口
我有如下HTML代码:通过C#代码隐藏打开CSS弹出窗口,c#,html,css,asp.net,C#,Html,Css,Asp.net,我有如下HTML代码: <a id="PopUp" runat="server" href="#openModal">Open me</a> // this is a way to open the pop up window via HTML <div id="openModal" runat="server" class="modalDialog"> <div>
<a id="PopUp" runat="server" href="#openModal">Open me</a>
// this is a way to open the pop up window via HTML
<div id="openModal" runat="server" class="modalDialog">
<div>
<a href="#close" title="Close" class="close">X</a>
<h2 style="text-align:center">Error</h2>
<p style="text-align:center"> Please select the product first!</p>
</div>
</div>
但是这些都不起作用,有人能帮我解决这个问题吗,我怎么能从代码背后做到这一点呢?谢谢
另外,该代码设置为当用户单击listview内的按钮时触发(普通asp.net按钮)
编辑:(Roberth,你的意思是这样吗??):
但是什么也没发生…您不能像在javascript中那样从代码隐藏处开始浏览器中的某些操作。您只能在回发响应期间更新客户端 要更新客户端而不刷新整个页面,应使用UpdatePanel。要启动弹出窗口,可以使用ModalPopupXtender(NuGet中AjaxControlToolkit的一部分) 因此,整个过程如下:
<asp:Button ID="HiddenButtonPopUpMsgBox" runat="server" Style="display: none" />
<ajaxToolkit:ModalPopupExtender ID="MsgBoxModalPopupExtender" runat="server" DropShadow="True"
PopupDragHandleControlID="DragPanelMsgBox" BackgroundCssClass="popUpbackground"
CancelControlID="ButtonMsgBoxClose" PopupControlID="PanelMsgBox" TargetControlID="HiddenButtonPopUpMsgBox">
</ajaxToolkit:ModalPopupExtender>
<asp:Panel ID="PanelMsgBox" runat="server" CssClass="popUpPanel" Style="display: none"
DefaultButton="ButtonMsgBoxClose">
<asp:Panel ID="DragPanelMsgBox" runat="server">
<div class="popUpDragPanel">
</div>
</asp:Panel>
<fieldset>
<legend class="legendlist">Message</legend>
<asp:UpdatePanel ID="UpdatePanelMsgBox" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PanelMsgScroll" runat="server" CssClass="PopUpPanelMsgPanel">
<asp:Label ID="LabelMsgBox" runat="server" Text="-" CssClass="MsgBoxLabel"></asp:Label>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<div align="center">
<asp:Button ID="ButtonMsgBoxClose" runat="server" Text="OK"
CssClass="button" />
</div>
</fieldset>
</asp:Panel>
消息
您可以使用以下命令打开它:
public static void MsgBox(string title, Page page)
{
AjaxControlToolkit.ModalPopupExtender ModalPopupExtender =
page.FindControl("ctl00$MainContent$MsgBoxModalPopupExtender") as AjaxControlToolkit.ModalPopupExtender;
System.Web.UI.WebControls.Label Label =
page.FindControl("ctl00$MainContent$LabelMsgBox") as System.Web.UI.WebControls.Label;
string message = "<b>" + title + "</b>";
Label.Text = message;
UpdatePanel UpdatePanel = page.FindControl("ctl00$MainContent$UpdatePanelMsgBox") as UpdatePanel;
UpdatePanel.Update();
ModalPopupExtender.Show();
}
publicstaticvoidmsgbox(字符串标题,页面)
{
AjaxControlToolkit.ModalPopupXtender ModalPopupXtender=
page.FindControl(“ctl00$MainContent$MsgBoxModalPopupExtender”)作为AjaxControlToolkit.ModalPopupExtender;
System.Web.UI.WebControls.Label标签=
page.FindControl(“ctl00$MainContent$LabelMsgBox”)作为System.Web.UI.WebControls.Label;
字符串消息=“title+”;
Label.Text=消息;
UpdatePanel UpdatePanel=page.FindControl(“ctl00$MainContent$UpdatePanelMsgBox”)作为UpdatePanel;
UpdatePanel.Update();
ModalPopupExtender.Show();
}
请检查我的最新答案,这是您想要的吗?是的,您的思路是正确的。但是您不必“查找”控件,您应该能够使用其ID访问它。为什么您可以在不使用UpdatePanel的情况下首先尝试它,如下所示:
ModalPopupExtender mpe = e.Item.FindControl("kontroller") as ModalPopupExtender;
mpe.Show();
return;
<asp:Button ID="HiddenButtonPopUpMsgBox" runat="server" Style="display: none" />
<ajaxToolkit:ModalPopupExtender ID="MsgBoxModalPopupExtender" runat="server" DropShadow="True"
PopupDragHandleControlID="DragPanelMsgBox" BackgroundCssClass="popUpbackground"
CancelControlID="ButtonMsgBoxClose" PopupControlID="PanelMsgBox" TargetControlID="HiddenButtonPopUpMsgBox">
</ajaxToolkit:ModalPopupExtender>
<asp:Panel ID="PanelMsgBox" runat="server" CssClass="popUpPanel" Style="display: none"
DefaultButton="ButtonMsgBoxClose">
<asp:Panel ID="DragPanelMsgBox" runat="server">
<div class="popUpDragPanel">
</div>
</asp:Panel>
<fieldset>
<legend class="legendlist">Message</legend>
<asp:UpdatePanel ID="UpdatePanelMsgBox" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PanelMsgScroll" runat="server" CssClass="PopUpPanelMsgPanel">
<asp:Label ID="LabelMsgBox" runat="server" Text="-" CssClass="MsgBoxLabel"></asp:Label>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<div align="center">
<asp:Button ID="ButtonMsgBoxClose" runat="server" Text="OK"
CssClass="button" />
</div>
</fieldset>
</asp:Panel>
public static void MsgBox(string title, Page page)
{
AjaxControlToolkit.ModalPopupExtender ModalPopupExtender =
page.FindControl("ctl00$MainContent$MsgBoxModalPopupExtender") as AjaxControlToolkit.ModalPopupExtender;
System.Web.UI.WebControls.Label Label =
page.FindControl("ctl00$MainContent$LabelMsgBox") as System.Web.UI.WebControls.Label;
string message = "<b>" + title + "</b>";
Label.Text = message;
UpdatePanel UpdatePanel = page.FindControl("ctl00$MainContent$UpdatePanelMsgBox") as UpdatePanel;
UpdatePanel.Update();
ModalPopupExtender.Show();
}