你能把jQuery代码放在.ascx页面吗?
我有一个用户控件,我在ASP.NET项目中使用。当我在default.aspx页面上选择某些内容时,动态创建该控件的多个实例。我想用jQuery操纵该用户控件的一部分。但是,jQuery似乎没有加载。
我在MasterPage中引用了jQuery库。我从我的default.aspx测试了以下代码并且它可以工作,但是当我在ascx页面中使用相同的代码时,我没有得到任何响应:
<script type="text/javascript" charset="utf-8">
if (typeof ($) != 'function') alert('This component requires jQuery.');
else $(function () { alert('The DOM is ready for jQuery manipulation.'); });
</script>
有什么想法吗?
THX。
答案 0 :(得分:0)
如果您在母版页中引用了jQuery,那么您可以在.ascx中访问它。
你能把它放在$(document).ready(function(){/ * 你的代码.. * /})里面; -in ascx-并检查?
答案 1 :(得分:0)
要在用户控件.ascx中包含和运行JavaScript或JQuery代码行,不应在HTML代码中插入<script>
标记。仅用于插入对JQuery文件的引用(如果需要的话)。像Load或UpdatePanel用户控件这样的ASP.NET页面事件不一定会触发客户端事件,例如在.aspx页面上加载完成时。为此,您应该使用ScriptManager.RegisterClientScriptBlock。要成功使用示例,请在.ASCX控件的Load事件中设置此代码:
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ActivateJsSample",
@"<script type = 'text/javascript'>
if (typeof ($) != 'function') alert('This component requires jQuery.');
else $(function () { alert('The DOM is ready for jQuery manipulation.'); });
});
</script>", false);
这会与用户控件的Load事件同步并触发,并且每次都会启动。