Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.net Ajax工具包中HTML编辑器中的错误_Asp.net_Ajaxcontroltoolkit_Html Editor - Fatal编程技术网

ASP.net Ajax工具包中HTML编辑器中的错误

ASP.net Ajax工具包中HTML编辑器中的错误,asp.net,ajaxcontroltoolkit,html-editor,Asp.net,Ajaxcontroltoolkit,Html Editor,我正在尝试使用ASP.net自定义验证程序控件验证HTML编辑器的内容。这样做的目的是检查是否输入了某些内容——与必填字段验证器的工作方式相同 在ClientValidationFunction=“SomeFunction”中,我引用了此函数: function SomeFunction(source, args) { var editor = $find("<%=htmlEditor.ClientID%>"); var content =

我正在尝试使用ASP.net自定义验证程序控件验证HTML编辑器的内容。这样做的目的是检查是否输入了某些内容——与必填字段验证器的工作方式相同

在ClientValidationFunction=“SomeFunction”中,我引用了此函数:

 function SomeFunction(source, args)
    {
        var editor = $find("<%=htmlEditor.ClientID%>");
        var content = editor.get_content();
        var isValid = content.length > 0;
        editor.set_content(content); 
        args.IsValid = isValid;
    }
function SomeFunction(源代码,参数)
{
变量编辑器=$find(“”);
var content=editor.get_content();
var isValid=content.length>0;
编辑器。设置内容(content);
args.IsValid=IsValid;
}
我在获取内容后设置内容的原因是,这是一种让内容在编辑器中重新注册的黑客行为。出于某种原因,如果我在第二次尝试发回时没有重置内容(一旦验证),那么第一次尝试的空内容将被发回,而不是有效内容


有人知道如何检查HTML编辑器的内容而不必重置内容吗?或者,如果使用set_content()重置,而不取消激活字体大小和字体样式菜单

好的,通过更新到Ajax工具包的最新版本(2009年9月),解决了这个问题

不再需要set_content()hack。只需从上面的javascript代码中删除它,定制验证器就可以工作了。HTML编辑器现在将更新的内容传递给服务器:“呜呜!”


感谢Obot的同事们修复了这个bug!:-)

正如我在上一篇文章中所说,你不应该需要设置内容黑客。这是我的代码,用于验证编辑器是否为空:

  <asp:CustomValidator 
                    CssClass="errorMessage" 
                    ID="HtmlEditorValidator" 
                    runat="server" 
                    ErrorMessage="Release Note cannot be empty"
                    Display="None" 
                    ControlToValidate="radEditor"
                    EnableClientScript="true"
                    ClientValidationFunction ="checkEditorNotEmpty"
                    OnServerValidate="CheckEditorNotEmptyServerSide"
                    ValidateEmptyText="true">
</asp:CustomValidator>  

function checkEditorNotEmpty(source, args)
        {
            var editor = $find("<%=radEditor.ClientID%>");
            var cont = editor.get_text();
            var isValid = cont.length > 0;
            args.IsValid = isValid;
        }
这适用于9月份的发行版,我希望他们没有错过11月份发行版中的bug修复:那将非常奇怪

  protected void CheckEditorNotEmptyServerSide(object sender, ServerValidateEventArgs args)
        {
            bool valid = args.Value.Length > 0;
            args.IsValid = valid;
        }