Asp.net MVC Fckeditor的扩展(支持PV3及自动绑定)


namespace
 System.Web.Mvc
{
    
using System;
    
using System.Globalization;
    
/// <summary>
    
/// Fckeditor的HTMLHelper
    
/// http://chsword.cnblogs.com/
    
/// </summary>
    static public class FckTextBoxExt
    {
        
/// <summary>
        
/// Fckeditor的HTMLHelper,可以与同名ViewData绑定
        
/// </summary>
        
/// <param name="u">HtmlHelper</param>
        
/// <param name="name">Html的NAME</param>
        
/// <returns></returns>
        public static string FckTextBox(this HtmlHelper u, string name)
        {
            
return u.FckTextBox(name, null);
        }
        
/// <summary>
        
/// Fckeditor的HTMLHelper
        
/// </summary>
        
/// <param name="u"></param>
        
/// <param name="name">Html name </param>
        
/// <param name="value">内容</param>
        
/// <returns></returns>
        public static string FckTextBox(this HtmlHelper u, string name, object value)
        {
            
return u.FckTextBox(name, value.ToString());
        }
        
/// <summary>
        
/// Fckeditor的HTMLHelper
        
/// </summary>
        
/// <param name="u"></param>
        
/// <param name="name">Html name</param>
        
/// <param name="value">内容</param>
        
/// <returns></returns>
        public static string FckTextBox(this HtmlHelper u, string name, string value)
        {
            
if (value == null)
            {
                value 
= Convert.ToString(u.ViewDataContainer.ViewData[name], CultureInfo.InvariantCulture);
            }

            
return string.Format(@"<textarea name=""{0}"" id=""{0}"" rows=""50"" cols=""80"" style=""width:100%; height: 600px"">{1}</textarea>
<script type=""text/javascript"">
    var oFCKeditor = new FCKeditor('{0}') ;
    //oFCKeditor.BasePath    = sBasePath ;
oFCKeditor.Height=400;
    oFCKeditor.ReplaceTextarea() ;
</script>
", name, value);

        }
    }
}


用法
View页写
<%=Html.FckTextBox("content")%>即可
Controller写
ViewData["content"]="<div>....</div>";
即可与之绑定
希望对大家自己扩展MVC的有帮助
posted @ 2008-06-02 09:58 重典 阅读(3722) 评论(13) 编辑 收藏

 回复 引用 查看   
#1楼[楼主]2008-06-02 10:06 | 重典      
言之草草 路过BS一下
 回复 引用   
#2楼2008-06-02 12:09 | keconfx[未注册用户]
BS下。。js代码放cs里不如就放页面里。
 回复 引用 查看   
#3楼2008-06-02 15:53 | 小No      
先收藏,用到再看
 回复 引用 查看   
#4楼2008-06-03 11:28 | 迷途小猪儿      
@keconfx
...bs别人的人往往最招bs,我就不bs你了

 回复 引用 查看   
#5楼2008-06-03 20:07 | Q.Lee.lulu      
好像跟MVC没什么关系
只是个扩展方法而已

 回复 引用 查看   
#6楼2008-06-03 21:38 | 辉郎      
说实话,确实有点草。这文章还是别放首页了。
 回复 引用   
#7楼2008-06-04 14:49 | michelle li[未注册用户]
请问你是不是已经离开新蛋了,现在哪里工作呢,我可以联系你么?
 回复 引用   
#8楼2008-11-03 13:24 | leegoold[未注册用户]
这个
你只是写个扩展方法,生成TextArea代码。。。
为什么还把名字命名为FckEditor~~

 回复 引用 查看   
#9楼[楼主]2008-11-03 14:39 | 重典      
@leegoold
因为生成textarea的同时还写了个js啊

 回复 引用   
#10楼2008-11-03 18:29 | leegoold[未注册用户]
@重典

明白了
谢谢
需要引用fckeditor.js
<script type="text/javascript" src="../../fckeditor/fckeditor.js"></script>

 回复 引用 查看   
#11楼2008-12-03 18:13 | 二十四画生      
原来楼主已经写过一个FCKEditor的扩展方法了,也分享一个我写的吧。http://www.cnblogs.com/esshs/archive/2008/12/03/1346326.html 大家用用多提意见,希望能够把这个做的更加完善。
 回复 引用 查看   
#12楼2008-12-08 19:05 | Nickelzhang      
这个能上传文件吗?我也想用这个
 回复 引用   
#13楼2009-04-15 15:44 | xcxcxc[未注册用户]
这个上传文件好像不行啊