Javascript Jquery没有在使用ASP.NET C的母版页中工作,并且在不使用母版页的情况下工作正常

Javascript Jquery没有在使用ASP.NET C的母版页中工作,并且在不使用母版页的情况下工作正常,javascript,c#,jquery,html,asp.net,Javascript,C#,Jquery,Html,Asp.net,此代码在.aspx页面中运行良好,没有问题。但是,如果我使用母版页,那么在这里什么都不起作用,我尝试将JQuery脚本放在母版页中,即使没有任何效果。这里有什么需要做的事情吗。仍然不明白为什么info div没有加载计数。下面是链接 <script type="text/javascript" src="scripts/jquery-1.3.2-vsdoc2.js"></script> 我也参考以下博客: MasterPage.master代码: <hea

此代码在.aspx页面中运行良好,没有问题。但是,如果我使用母版页,那么在这里什么都不起作用,我尝试将JQuery脚本放在母版页中,即使没有任何效果。这里有什么需要做的事情吗。仍然不明白为什么info div没有加载计数。下面是链接

<script type="text/javascript" src="scripts/jquery-1.3.2-vsdoc2.js"></script>

我也参考以下博客:

MasterPage.master代码:

 <head runat="server">
<title></title>

   <script type="text/javascript" src="scripts/jquery-1.3.2-vsdoc2.js">          </script>



<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>


Default2.aspx代码


var Editor1='#Editor1';
var Editor1CountLimit=50
var editor1info区域='#Info';
var Editor2='#Editor2';
var Editor1InfoArea1='#Info1';
$(文档).ready(函数(){
TrackCharacterCount(Editor1、Editor1CountLimit、Editor1Info区域);
TrackCharacterCount(Editor2、Editor1计数限制、Editor1信息区域1);
});
函数TrackCharacterCount(控制、限制、信息){
变量编辑器=$(ctl.contents().find('iframe').eq(2);
$(编辑器).加载(函数(){
var txt=$(this.contents().find('body').text();
$(info.html(txt.length);//设置初始值
$(this).contents().keyup(函数(){
var txt=$(this.contents().find('body').text();
如果(txt.length>limit)
$(info.html(txt.length).css(“颜色”、“红色”);
其他的
$(info.html(txt.length).css(“颜色”,“长度”);
});
});
}
函数ValidateEditor1Length(源,参数){
var editor=$(Editor1.contents().find('iframe').eq(2);
var txt=editor.contents().find('body').text();

var isValid=txt.length>0&&txt.length 0&&txt.length正在下载js文件吗?也可以使用开发者工具下的网络(F12)检查。同时在最后一页的HTML中检查控件的ID是否确实是您在脚本中使用的ID。

尝试将您的Jquery引用更改为:

<script type="text/javascript" src="<%= Page.ResolveClientUrl("~/scripts/jquery-1.3.2-vsdoc2.js") %>"></script>

我也遇到了同样的问题。在浏览器客户端查看输出源代码时,我注意到所有的“id”都被修改为在id之前加上ContentPlaceholder id作为前缀,因此id的jQuery不再存在

解决方案是在子页面的“内容部分”中包含参数clientdmode=“Static”,以便内容页面上的id对象保持不变,jQuery可以通过原始id找到它


希望能有所帮助。

ya.也尝试过这个,但没有加载jquery信息div,请选择上面的链接。@Martin您看过Chrome Developer Tools控制台了吗,有没有Javascript错误或缺少资源?使用单页工作正常,使用母版页时出现问题,请参考上面的链接。请选择上面的链接k在我的问题中,你会得到我的答案。@Rui limaSo文件是否正在下载?如果不使用母版页,此代码工作正常。但是当我使用上面的代码工作母版页时,jquery没有加载。请检查上面的链接,你会得到我的问题。@Rui limamate,我们没有看到代码。问题肯定与asp.net webforms生成控件ID的方式。如果您想解决问题,我们需要确保两件事:1.确保js文件正在下载;2.确保ID确实正确。使用母版页时,有时会将ID设置为ID=“ctl00\u MainContent\u Age”,而不仅仅是ID=“Age”,顺便说一句,你给出的链接不是一个很好的例子。仍然很混乱,上面的代码可用。你能找到错误的原因吗。@Rui Lima
 <script type="text/javascript">

     var Editor1 = '#Editor1';
     var Editor1CountLimit = 50
     var Editor1InfoArea = '#Info';

     var Editor2 = '#Editor2';
     var Editor1InfoArea1 = '#Info1';

     $(document).ready(function () {
         TrackCharacterCount(Editor1, Editor1CountLimit, Editor1InfoArea);
         TrackCharacterCount(Editor2, Editor1CountLimit, Editor1InfoArea1);
     });

     function TrackCharacterCount(ctl, limit, info) {
         var editor = $(ctl).contents().find('iframe').eq(2);
         $(editor).load(function () {
             var txt = $(this).contents().find('body').text();
             $(info).html(txt.length); //set initial value 
             $(this).contents().keyup(function () {
                 var txt = $(this).contents().find('body').text();

                 if (txt.length > limit)
                     $(info).html(txt.length).css("color", "red");
                 else
                     $(info).html(txt.length).css("color", "");
             });
         });
     }

     function ValidateEditor1Length(source, args) {
         var editor = $(Editor1).contents().find('iframe').eq(2);
         var txt = editor.contents().find('body').text();
         var isValid = txt.length > 0 && txt.length <= Editor1CountLimit;
         args.IsValid = isValid;
     }


     function ValidateEditor1Length1(source, args) {
         var editor = $(Editor2).contents().find('iframe').eq(2);
         var txt = editor.contents().find('body').text();
         var isValid = txt.length > 0 && txt.length <= Editor1CountLimit;
         args.IsValid = isValid;
     }

</script> 


      <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>

            <div id="Info">Info</div>

  <%--  <cc1:Editor ID="Editor1" runat="server" />--%>
    <cc1:Editor ID="Editor1" runat="server" />
    <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="Editor1" ClientValidationFunction="ValidateEditor1Length" ErrorMessage="Exceeded Character Limit"></asp:CustomValidator>


   <div id="Info1">Info</div>
   <%-- <cc1:Editor ID="Editor2" runat="server" />--%>
    <cc1:Editor ID="Editor2" runat="server" />
    <asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="Editor2" ClientValidationFunction="ValidateEditor1Length1" ErrorMessage="Exceeded Character Limit"></asp:CustomValidator>

</div>
<asp:Button ID="Button1" runat="server" Text="Button" />
<script type="text/javascript" src="<%= Page.ResolveClientUrl("~/scripts/jquery-1.3.2-vsdoc2.js") %>"></script>