RegisterStartupScript 未触发 JScript 方法
RegisterStartupScript not firing off JScript method
我似乎无法弄清楚如何从我的代码隐藏中触发 javascript 函数。
这是我的 javascript 在我的 aspx 页面中...
<script type="text/javascript">
...
function HidePopup() {
$(function() {
$("#popup").dialog("close");
});
});
我有一个名为 ShowPopup
的类似函数,它是为 LinkButton 的 OnClientClick
事件触发的。那是有效的。但是,在按下此按钮启动的功能结束时,我想隐藏 JQuery 对话框。我试过以下方法...
ScriptManager.RegisterStartupScript(Me, Me.GetType, "HidePopup", "HidePopup();", True)
和
Page.ClientScript.RegisterStartupScript(Me.GetType(), "HidePopup", "HidePopup();")
我想我需要第一个(我正在使用 AjaxControlToolkit 和这个特定的按钮,<div>
在更新面板中)但似乎都没有隐藏对话框。我没有收到任何错误,所以我有点迷路了。有任何想法吗?需要更多信息?提前致谢。
编辑:所以我的问题并不是 javascript 没有触发,我在我的 HidePopup()
函数中放入了一个 alert(message)
,所以我的问题真的似乎只是这条线...
$("#popup").dialog("close");
我的 div
定义为...
<div id="popup" style="display:none;"></div>
有人认为这有什么问题吗?
非常感谢你们,我解决了这个问题。以防其他人在这里绊倒...
因为我使用的是 UpdatePanel
,所以我不得不使用 ScriptManager.RegisterStartupScript(<UpdatePanelID>, <UpdatePanelID>.GetType(), "HidePopup", "HidePopup();")
- 请记下@VeselinVasilev 的回答,以便在函数调用中使用 UpdatePanel 的名称。
但最重要的是,我必须修改实际启动弹出窗口的方法。 DOM 似乎丢失了对对话框的引用。我创建了一个全局变量,并在创建时将其分配给 Dialog。然后我可以用它来显示/隐藏对话框。
var popupDialog;
function ShowPopup(message) {
$("#popup").html(message);
popupDialog = $("#popup").dialog({
title: "Working",
modal: true,
dialogClass: "no-close"
});
};
function HidePopup() {
popupDialog.dialog("close");
};
如果有人发现此问题或有任何疑问,请务必告诉我。
我似乎无法弄清楚如何从我的代码隐藏中触发 javascript 函数。
这是我的 javascript 在我的 aspx 页面中...
<script type="text/javascript">
...
function HidePopup() {
$(function() {
$("#popup").dialog("close");
});
});
我有一个名为 ShowPopup
的类似函数,它是为 LinkButton 的 OnClientClick
事件触发的。那是有效的。但是,在按下此按钮启动的功能结束时,我想隐藏 JQuery 对话框。我试过以下方法...
ScriptManager.RegisterStartupScript(Me, Me.GetType, "HidePopup", "HidePopup();", True)
和
Page.ClientScript.RegisterStartupScript(Me.GetType(), "HidePopup", "HidePopup();")
我想我需要第一个(我正在使用 AjaxControlToolkit 和这个特定的按钮,<div>
在更新面板中)但似乎都没有隐藏对话框。我没有收到任何错误,所以我有点迷路了。有任何想法吗?需要更多信息?提前致谢。
编辑:所以我的问题并不是 javascript 没有触发,我在我的 HidePopup()
函数中放入了一个 alert(message)
,所以我的问题真的似乎只是这条线...
$("#popup").dialog("close");
我的 div
定义为...
<div id="popup" style="display:none;"></div>
有人认为这有什么问题吗?
非常感谢你们,我解决了这个问题。以防其他人在这里绊倒...
因为我使用的是 UpdatePanel
,所以我不得不使用 ScriptManager.RegisterStartupScript(<UpdatePanelID>, <UpdatePanelID>.GetType(), "HidePopup", "HidePopup();")
- 请记下@VeselinVasilev 的回答,以便在函数调用中使用 UpdatePanel 的名称。
但最重要的是,我必须修改实际启动弹出窗口的方法。 DOM 似乎丢失了对对话框的引用。我创建了一个全局变量,并在创建时将其分配给 Dialog。然后我可以用它来显示/隐藏对话框。
var popupDialog;
function ShowPopup(message) {
$("#popup").html(message);
popupDialog = $("#popup").dialog({
title: "Working",
modal: true,
dialogClass: "no-close"
});
};
function HidePopup() {
popupDialog.dialog("close");
};
如果有人发现此问题或有任何疑问,请务必告诉我。