Extjs 富文本框编辑器

ovenj 2010-03-18 09:14:20
小弟在做一个类似新闻发布系统的时候遇到一个问题,我编辑好新闻后(新闻是从网站拷贝的,带有html格式的),然后发布,一直发布不成功,原因是json格式不对,导致json格式不对的原因就是html的新闻内容的原因,那么如何解决这个错误,

什么方法可以使得html能成功的转换成为json格式,并保留html的原格式(能正确显示在aspx页面上)


{
text : "添加",
tooltip : "添加新的信息",
iconCls : "addicon",
handler : function() {
var win = new Swfu.BackMgr.infosWin({
canEdit : true,
iconCls : "addicon",
title : '新增记录'
});
win.show();
Ext.getCmp('BtnSave_infos').on('click', function() {
if(Ext.getCmp('title').getValue().trim().length<=0||Ext.getCmp('details').getValue().trim().length<=0||Ext.getCmp('classify').getRawValue().trim().length<=0)
{
Ext.ux.Toast.msg('提示','您的数据不完整,请先检查!');
return;
}
var records = {
'title' : Ext.getCmp('title').getValue(),
'details' : Ext.getCmp('details').getValue().replace(/</g,"|[|").replace(/>/g,"|]|"),//这里是新闻的详细内容,如果不替换<>标签的话会直接出错,替换了后,部分新闻仍然出错,错误就是json格式不对
'imgs' : "",
'classify' : Ext.getCmp('classify').getRawValue(),
'publiship' : "",
'publishman' : "",
'publishtime' : "",
'isshow' : "1",
'istop' : "0",
'hits' : 0,
'notes' : Ext.getCmp('notes').getValue()
};
var myMask = new Ext.LoadMask(Ext.getBody(), {
msg: '正在保存,请稍后......',
removeMask: true //完成后移除
});
myMask.show();
Ext.Ajax.request({
url : '/infos.mvc/Add_infos',
method : 'POST',
success : function(response, options) {
myMask.hide();
var responseMessage = Ext.util.JSON.decode(response.responseText);
if (responseMessage.Result) {
Ext.getCmp('infosMenu').getStore().reload();
Ext.getCmp('infoswin').close();
Ext.ux.Toast.msg('提示', '数据保存成功!');
}
else{
Ext.ux.Toast.msg('提示', '数据保存失败,请您重试!');
}

},
params : {
json : Ext.util.JSON.encode(records)
},
failure : function(form, action) {
if (action.failureType == 'server') {
obj = Ext.util.JSON
.decode(action.response.responseText);
Ext.Msg.alert('错误:', obj.errors.reason);
}
if (action.failureType == 'client') {
Ext.ux.Toast.msg('提示', '数据不正确,请核对后重新操作');
}
}
})
});

}

}


我的发布方法:

//添加记录
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add_infos(string json)
{
var rdto = new ResultDTO();
JavaScriptSerializer jss = new JavaScriptSerializer();
infos infos = jss.Deserialize<infos>(json);
infos.publiship = Request.UserHostName.ToString();
infos.publishman = Session["username"].ToString();
infos.publishtime = DateTime.Now.ToString();
infos.details = infos.details.Replace("|[|", "<").Replace("|]|", ">").Replace("'", "\"").Replace("\r", "").Replace("\n", "").Replace("\\", "\\\\");
infos.imgs = MyGetImgUrl(infos.details);
try
{
ManagerFactory.infosMgr.Add_infos(infos);
rdto.Message = "添加成功";
rdto.Result = true;
}
catch
{
rdto.Message = "添加失败";
rdto.Result = false;
}
return this.Json(rdto);
}

小弟在此跪求解决方法!
...全文
915 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈柏仿 2011-11-03
  • 打赏
  • 举报
回复
你用的是什么控件编辑器.可以加我的QQ:424349116;互相交流学习,共同成长.我也是搞C#开发的.
wws403945133 2010-03-19
  • 打赏
  • 举报
回复
友情绑定
ovenj 2010-03-18
  • 打赏
  • 举报
回复
???怎么没人回复呀,自己顶!

62,055

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧