Asp.net 模式弹出窗口在回发时消失
我正在使用ModalPopupXtender:Asp.net 模式弹出窗口在回发时消失,asp.net,ajax,modalpopup,Asp.net,Ajax,Modalpopup,我正在使用ModalPopupXtender: <ajax:ModalPopupExtender ID="ModalPopupExtender2" runat="server" TargetControlID="dummyButton2" PopupControlID="DayEntryPanel" CancelControlID="Button3" BackgroundCssClass="backCSS"/> 我肯定这就是问题所在,但我真的想保留这一基本逻辑,我不确定这为什么会导
<ajax:ModalPopupExtender ID="ModalPopupExtender2" runat="server" TargetControlID="dummyButton2" PopupControlID="DayEntryPanel" CancelControlID="Button3" BackgroundCssClass="backCSS"/>
我肯定这就是问题所在,但我真的想保留这一基本逻辑,我不确定这为什么会导致问题。我试着把dummyButton2和扩展器放在它自己的更新面板中,没有任何改变
我可以做一些疯狂的事情,比如保留一个变量来确定我是否应该显示弹出窗口,如果该变量为真,则在页面加载上显示它,但这似乎比任何事情都重要。想法?显示弹出窗口不是一个好主意,请执行以下操作
<ajax:ModalPopupExtender ID="ModalPopupExtender2" runat="server" TargetControlID="dummyButton2" PopupControlID="DayEntryPanel" CancelControlID="Button3" BehaviourId="mpcPopup" BackgroundCssClass="backCSS"/>
$find("mpcPopup").show()//show me some popup's
隐藏弹出窗口
$find("mpcPopup").hide();//zoot bye
请参阅aspx部分
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return Clicked()" /> //On this button click the popup appears.
<asp:HiddenField ID="HiddenField1" runat="server" />
<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
PopupControlID="popupPanel" TargetControlID="HiddenField1" BackgroundCssClass="ModClass"
OkControlID="button2" CancelControlID="button3" BehaviorID="mdlpop">
</cc1:ModalPopupExtender>
<asp:panel id="popuppanel" runat="server" style="display:none; width:200px; background-color:yellow; padding:20px;">
<p>are you sure?</p>
<asp:button id="button2" runat="server" text="ok" OnClientClick="Button1_Click()" />
<asp:button id="button3" runat="server" text="cancel" />
</asp:panel>
//在此按钮上单击弹出窗口。
你确定吗
按钮2调用的Javascript部分:
<script type="text/javascript" language="javascript">
function Clicked()
{
$find('mdlpop').show(); //mdlpop is the BehaviorID in ModalPopupExtender1
return false;
}
function Button1_Click()
{
alert("ok is pressed");
}
</script>
函数单击()
{
$find('mdlpop').show();//mdlpop是ModalPopupExtender1中的行为ID
返回false;
}
功能按钮1\u单击()
{
警报(“按下ok”);
}
*注意:*然后将取消按钮id设置为ModalPopupExtender1的取消控制id,单击取消按钮时会自动删除弹出窗口。还可以将ModalPopupExtender1的PopupControlID设置为弹出控件的id(此处为popuppanel)。此外,targetcontrolID不能保持为空,因此只需添加一个隐藏字段并在此处提供其id(没有其他意义)。您还可以设置OkControlID(此处设置为button2)并在其客户端函数上定义操作
希望这将有助于ypu解决问题…您想在页面加载时显示模式吗
<script type="text/javascript" language="javascript">
function Clicked()
{
$find('mdlpop').show(); //mdlpop is the BehaviorID in ModalPopupExtender1
return false;
}
function Button1_Click()
{
alert("ok is pressed");
}
</script>