首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的用户控制pageLoad函数不启动我的一些ASP.net页面?

为什么我的用户控制pageLoad函数不启动我的一些ASP.net页面?
EN

Stack Overflow用户
提问于 2011-03-10 17:19:15
回答 1查看 1.3K关注 0票数 1

我正在开发一个ASP.net应用程序。

我设计的一个名为LocationSelector的用户控件出现了问题。它工作得很好,但是我不能在ASP:UpdatePanel中使用它。我通过浏览了解到,我需要将内联Javascript放在外部文件中,并将其注册到ScriptManager中,这样javascript中就没有Response.Write调用了。

接下来,我发现该控件一开始可以工作,但是当我将它封装在ASP:UpdatePanel中时,它将在第一次AJAX回发之后停止工作。为了解决这个问题,我需要将$(document).ready调用替换为function pageLoad(),该调用在每次加载ASP.net页面时都会自动执行。

在我的ASP.net应用程序中,我的几个页面工作得很好(框架对应用程序的驱动效果让我印象深刻)。然而,令我沮丧的是,我发现我的LocationSelector控件在我的三个页面上不再工作了。HTML呈现,但是pageLoad (它使用jQuery绑定控件元素上的事件)不会触发。

我验证了这一点,但将alert('pageLoad');作为pageLoad函数的第一行。在有效的页面上,我看到了警报。在不工作的页面上,我从未看到警报,甚至在初始页面加载时也是如此。

是什么问题导致我的用户控件LocationSelector上的LocationSelector函数在某些页面上执行,而不是在其他页面上执行?

EN

回答 1

Stack Overflow用户

发布于 2011-03-10 18:11:22

我已经找到了问题,但我还是不知道解决办法是什么。

我的用户控件Location Selector位于相对目录~/Controls中。我使用以下代码注册脚本:

代码语言:javascript
运行
复制
ScriptManager.RegisterClientScriptInclude(this, typeof(LocationSelector), Guid.NewGuid().ToString(), "Controls/LocationSelector.js");                

问题在于JavaScript文件控件/LocationSelector.js的相对路径。

使用此代码的页面都位于ASP.net应用程序的根目录中。不工作的页面位于子目录中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5263299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档