繁体   English   中英

Ajax HTML编辑器不使用ASP.NET C#计算母版页中的字符

[英]Ajax Html Editor is not counting characters in master page using ASP.NET C#

在不使用母版页的情况下,它可以正常工作,而在我使用母版页的情况下,它不能工作。

我认为此TrackCharacterCount函数不在母版页中计数。

我也尝试了新的Jquery脚本:

 <script type="text/javascript" src="scripts/jquery-2.1.4.min.js"></script>

母版页设计代码:

  <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>
 </head>
     <body>
    <form id="form1" runat="server">
      <div>
       <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

      </asp:ContentPlaceHolder>
</div>
  </form>
</body>

Default2.aspx代码:

  <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

  <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit.HTMLEditor" TagPrefix="cc1" %>


   <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

   </asp:Content>
   <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">


 <script type="text/javascript">

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


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

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


     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" />
    <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" />
    <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" />

像这样将您的脚本放在母版页眉中

<head>
<script type="text/javascript" 
        src="<%# ResolveUrl("~/YourScriptFolder/YourJavascript.js") %>">
</script>
</head>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM