海洋工作室——网站建设专家:让 MVC 支持 CuteEditor Using CuteEditor under MVC

我在网上搜索了一圈,甚至是CUTEEDITOR官方网站都说目前不支持MVC,看下面的,CUTEEDITOR官方论坛,

http://cutesoft.net/forums/thread/59425.aspx

下面是他们管理员的回答,

Andrii, 
MVC is not supported yet. Sorry for the inconvenience.
 
现在看看我们CSDN上面的,

http://topic.csdn.net/u/20090514/16/d4e8c5e7-1c0a-44f6-a95f-0cbf3ae4067b.html

上面博客问题还是没有解决,我就不去回答了,我直接写在我博客里面好了,给大家一个参考。

http://www.codeproject.com/KB/aspnet/fckeditor.aspx

上面这是针对FCKEDITOR的。

不过经过测试,发觉CuteEditor在MVC下是work的,只是取不到值而已。

这儿说的取值有两种:一是存值,即如何把CuteEditor值取出来存进数据;二是取值,即如何把数据从数据库里面取出来放在CuteEditor编辑器上。

如果是普通的WEB页面就非常简单了,本来我想封装成HTMLHEPER的,但做下来发觉非常麻烦。

我现在用一个小小的技巧来完成这个操作。

首先如果要想用好CuteEditor, 我建议好好看看随包的帮助文档,那个很有用。

进入主题:

存值:

我们知道使用MVC 绑定到页面的时候,它的MODEL 名字一定要和字段匹配的,否则MVC就不认识了。 开始我把CuteEditor 名字命名和那个数据库字段一样,发觉不行,后来我想用过input(type=text) 看看,发觉可以,这样问题就转嫁到如果把CuteEditor 值取到,然后放到 input里面了。我使用了JAVASCIPT 去取,果然取到了。下面是示意代码:

 

        function setvalue() {
            document.getElementById(
"Details").value = document.getElementById("<%=ceDescription.ClientID %>").getHTML();
            
return true;
        }

 

 

简单说说上面的代码: Details是客户端控件input的ID,ceDescription 就是CuteEditor 控件了,getHTML()是CuteEditor 公开的JS方法(具体参考随包的帮助文档),好了上面的代码就是取值过程,当然相对于存数据工程又是提前预存过程,即存值。要注意的一点是把上面的JS方法帮到相应的控件事件上,比如说submit的那个onclick上,小技巧,就是把input 的type 改成hidden就更合理了。

下面简单说说取值(主要用于编辑回传值):

如果对于普通的WEB FORMS,其实取值非常简单,可是我们知道MVC不是基于事件驱动的,也就是说你的button放在页面上,它的服务器端事件是无效的,呵呵,不着急,经过测试,我发觉Page_Load这个事件还是可以执行的,大喜!各位看官,现在知道如何做了吧!!

 

    protected void Page_Load(object sender, EventArgs e)
    {
        ceDescription.Text 
= Model.Details;
    }

 

好啦,CuteEditor 支持 MVC 啦或者说MVC 支持 CuteEditor 了,哈哈。

我也不知道目前有没有更优美的方法,反正我在网上是么有看到的,所以我就写了一下,希望对广大应用开发方面的程序员u用。

posted @ 2010-03-23 15:23  海洋——海纳百川,有容乃大.  阅读(2381)  评论(4编辑  收藏  举报