【发布时间】:2011-06-09 21:24:16
【问题描述】:
我有一个包含多个步骤的向导,我为每个步骤添加了一个用户控件。 对于其中一个步骤,我想在页面加载时运行 jQuery 脚本,因此在用户控件 .ascx 文件中添加了以下内容 -
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PropertyEntryWizard10HipEpcQuestions.ascx.cs" Inherits="PropertyInstructionEntryWizard.PropertyEntryWizard09HipEpcQuestions" %>
<%@ Register Src="~/Controls/Properties/HipManager.ascx" TagName="hip_manager" TagPrefix="rt" %>
<script type="text/javascript">
$(document).ready(function () {
alert('HipManager ready');
});
</script>
<h2>EPC</h2>
<rt:hip_manager ID="ctlHipMan" runat="server" ValidationGroup="Wizard" />
但它不会在页面加载时触发,
相反,当我从浏览器按钮手动重新加载时,它会运行并收到警报。
注意:我还发现,如果我将脚本从这个用户控件移动到主 .aspx 页面,它可以正常工作。我的用户控件使用了很多 PeterBlum 控件,所以我不确定是否有任何与它们关联的脚本导致了问题。
任何想法,我错过了什么?
谢谢!
【问题讨论】:
-
在 Chrome 或 Safari 中打开您的页面,启动 Inspector(右键单击某处并选择 Inspect this element ) 并查看您是否在“控制台”选项卡中存在阻止该代码执行的 javascript 错误。
-
感谢您的回复。我签入了 Firebug ...没有错误,并且脚本也已加载。也在 Safari 中尝试过,但同样的问题......我想知道当我手动重新加载页面时它们是如何被解雇的。
-
我认为我们需要查看更多您的页面来帮助您...除了引用的 jQuery 之外,您还有其他内容吗?例如,该脚本块和 jQuery 包含在页面流中的位置?
-
为什么不试试把代码放在 标签里?
-
我可以有两个头部标签吗?一个已经存在于母版页中,我想在用户控件中添加脚本。