2011-11-18 79 views
0

我在我们的应用程序之一中实现了.net Web表单拼写检查器。
此应用程序只在内部运行,客户端无法访问互联网,所以我不能使用像Google这样的在线拼写检查程序。实现.Net Web表单拼写检查器

我在支持使用NetSpell的SO上遇到过很多帖子。然而,我一直无法弄清楚如何将它连接到像微型mce这样的文本编辑器。

有没有一个我可以遵循的例子?
有没有更简单的方法让拼写检查工作?

+4

现代浏览器已经有拼写检查。 – SLaks

+1

@Slaks打败了我原来的评论,但另外,如果你的内部客户运行的是旧版本的IT,我会推荐IESpell自己写一个。 – David

+1

@SLaks企业环境...即6 - ie8与少数移动设备投入混合。我不能依赖浏览器或在客户端安装软件。 :( –

回答

0

好的,这里是我发现的。

TinyMCE有两个命令用于执行拼写检查。 这些命令以json格式发送并具有相同的语法。

在我的使用中,我必须使用特定的拼音拼写检查例程。所以我解析json请求调用我的拼写检查,然后生成一个json响应。

POST
ID - 串ID,通过tinyMCE的
方法生成 - 无论是字符串 “校验字” 或 “getSuggestions”
PARAMS - 一个对象数组,用于检验字它是(<串>,<字符串数组>),用于getSuggestions它是(<串>,<串>)

预期响应
结果 - 字符串数组
id - 来自帖子的相同ID
错误 - 我假设的错误消息,我总是只返回null。

用法示例

Post 
{"id":"c0","method":"checkWords","params":["en",["This","is","a","sentancce","woth","speeling","missteaks"]]} 

Expected Response 
{"result":["sentancce","woth","speeling","missteaks"],"id":"c0","error":null} 

Post 
{"id":"c0","method":"getSuggestions","params":["en","sentancce"]} 

Expected Response 
{"result":["sentence","sentenced","sentences","sentience"],"id":"c0","error":null} 
0

我会使用tinymce附带的spellcheck插件,并在intranet上的machiene上设置拼写检查服务器。 IESpell是去这里的好方法。

+0

那么,你有没有例子? –

+0

看看这里:http://www.kelvinluck.com/2009/01/using-spell-checker-for-tinymce -with-net-on-iis/ – Thariama

+0

我不认为你读过这篇文章,它接受来自TinyMCE实例的AJAX请求,将它发送给Google的拼写检查Web服务,并将相关结果发送回AJAX响应中 –

0

我确实实施了NetSpell拼写检查城市名称。没有任何东西存在,所以我开发了一个C#中的Web服务,该服务从客户端调用了该字符串,通过NetSpell(使用自定义字典)传递,然后在城市/州组合很好时返回,如果不是,NetSpell给出了什么建议。

某些AJAX魔术显示了一个下拉菜单,并提供了Web服务返回的建议。整个事情必须是自定义的。如果你需要拼写检查的东西,而无需拨打外部网络服务,我认为这是你最好的选择。

0

我认为Thariama的答案非常接近。我已经检查了包含在TinyMce .NET package中的拼写检查器示例,并且它看起来非常简单,可以挂接自定义拼写检查器而不是提供的GoogleSpellChecker类。你只需要实现ISpellChecker接口(两个简单的方法),将GoogleSpellChecker切换到SpellCheckerModule.cs文件中的实现。对于实际的拼写检查,您可以使用OpenOffice拼写检查程序的.NET版本NHunspell。有关使用TinyMCE连接SpellCheckerModule的说明,请参阅Thariama提供的链接(kelvinluck.com/2009/01/...

+0

是的,这就是我所缺少的一部分实际将tinymce连接到自定义拼写检查程序。 –