使用JavaScript获取对ModalPopupExtender的引用时遇到问题 [英] Trouble getting a reference to a ModalPopupExtender using javascript
问题描述
我正在尝试使用以下代码来获取对modalpopupextender的引用,但是当我检查javascript变量"modal"的值时,该值始终为null.使用javascript获取对AJAX控件的引用的正确方法是什么?
I am trying to use the following code to get a reference to a modalpopupextender, but when I check the value of the javascript variable 'modal' it is always null. What is the proper way to get a reference to the AJAX control using javascript?
.vb
Dim myStringBuilder As New StringBuilder(246)
myStringBuilder.AppendFormat(" <script type=""text/javascript"">{0}", Environment.NewLine)
myStringBuilder.AppendFormat(" var modal = $find('<%=modal1.ClientID%>');{0}", Environment.NewLine)
myStringBuilder.AppendFormat(" debugger;{0}", Environment.NewLine)
myStringBuilder.AppendFormat(" $find('<%=modal1.ClientID%>').add_showing({0}", Environment.NewLine)
myStringBuilder.AppendFormat(" function(){0}", Environment.NewLine)
myStringBuilder.AppendFormat(" {{{0}", Environment.NewLine)
myStringBuilder.AppendFormat(" alert(""Modal popup will be showing"");{0}", Environment.NewLine)
myStringBuilder.AppendFormat(" }}{0}", Environment.NewLine)
myStringBuilder.AppendFormat(" );{0}", Environment.NewLine)
myStringBuilder.AppendFormat(" </script>{0}", Environment.NewLine)
ClientScript.RegisterStartupScript(Me.GetType(), "myJSalert", myStringBuilder.ToString())
.aspx
<ajaxToolkit:ModalPopupExtender ID="mpeResetConfirm" runat="server"
TargetControlID="btnReset" PopupControlID="pnlConfirmation" BehaviorID="modal1"/>
推荐答案
我怀疑部分问题是在调用脚本时没有渲染popupextenders.因此,在谷歌搜索后,我发现了以下信息: http://forums.asp.net/p/1413275/3112082.aspx#3112082 .这是我最终得到的解决方案:
I suspected that part of the problem was the popupextenders had not been rendered at the time the script was being called. So after googling I found this post: http://forums.asp.net/p/1413275/3112082.aspx#3112082. Here is the solution I ended up with:
.aspx
<ajaxToolkit:ModalPopupExtender ID="mpeResetConfirm" runat="server"
TargetControlID="btnReset" PopupControlID="pnlConfirmation" BehaviorID="modal1"/>
<script type="text/javascript" language="javascript">
function pageLoad()
{
var modal = $find('modal1');
debugger;
$find('modal1').add_showing(
function()
{
alert("Modal popup will be showing");
}
);
}
</script>
这篇关于使用JavaScript获取对ModalPopupExtender的引用时遇到问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!