大家好,我有问题。我有一个主页,我的所有内容页都继承自。在这个母版页中,我有一个指向Javascript文件夹~/Scripts/validation.js
在我的内容页面上,我使用了不同的用户控件,这些用户控件需要使用validation.js
文件中的许多函数,但是如果我不在内容页面上的内容所有者中放置<script>
标记和Javascript函数usercontrols没有看到这些函数,我收到的错误如OnNameValidation
未定义。
当然,如果我在其中一个Javascript函数中发现错误,我可以将Javascript代码复制到所有页面中,但这是30多页并且是维护噩梦。
所以问题(如果你还没有从我的长篇论文中找到)是如何声明script标签和validation.js文件的路径,以便contentpages及其用户控件等可以访问函数/代码。
答案 0 :(得分:0)
你想要做什么应该工作,所以我怀疑你的javascript文件的路径是错误的(没有看到我只能假设你的HTML代码)。请记住,如果您在HEAD runat =“server”标记中有链接,则只能引用这样的javascript文件:“〜/ Scripts / validation.js”。如果没有runat =“server”,它将找不到该文件。你必须做一些像“../ scripts / validation.js”
这样的事情作为测试,我会尝试在母版页中调用您的javascript函数,这样您就可以排除错误的文件引用。
答案 1 :(得分:0)
我从ScottGu here获取了这个提示。
将此添加到用户控件,该控件在用户控件中启用Intellisense,但始终评估false:
<% if (false) { %>
<script src="/Scripts/validation.js" type="text/javascript"></script>
<% } %>
答案 2 :(得分:0)
您为js文件指定的路径可能在所有页面中都不匹配。
script src="../JavaScript/Scriptaculous/scriptaculous.js"
如果你有单独的Scripts,MasterPages,Pages&amp;文件夹,那么它应该具有类似的内容。控件。
答案 3 :(得分:0)
我目前正在我的网站中执行此操作,方法是转到母版页上的源代码并将以下内容放在ContentPlaceHolder的头部和外部。
<head>
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
<script src="CP.js" type="text/javascript"></script>
</head>