我有一个包含许多步骤的向导,每个步骤都添加了一个用户控件。 对于其中一个步骤,我想在页面加载时运行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" />
但它没有在页面加载时触发,
相反,当我从浏览器按钮手动重新加载时,它会运行,我会收到警报。
注意:我还发现,如果我将脚本从此用户控件移动到main .aspx页面,它可以正常工作。我的用户控件使用了很多PeterBlum控件,所以我不确定是否有任何与它相关的脚本导致了这个问题。
任何想法,我缺少什么?
谢谢!
答案 0 :(得分:3)
您是否尝试过使用pageLoad()函数而不是$(document).ready()?
你使用哪一个真正取决于你长期使用代码尝试做什么,但请看一下这里,因为这是一个非常好的解释,你应该在不同的情况下使用哪一个:
http://encosia.com/document-ready-and-pageload-are-not-the-same/