经典的问题:用Ajax+Json保存和修改数据时,单引号双引号怎么解决

shidabbs 2015-10-24 08:24:40
现状:
表单用Ajax+Json提交到后台保存,
然后又用Ajax+Json取出数据,并加载到表单里面。
Ajax+Json取数据,展现给用户的时候,单引号双引号转义一下,可以正常显示,没有问题了。但加载到表单中进行修改,目前还不知道怎么解决。
    public static string Filter(string str)
{
StringBuilder sbr = new StringBuilder(str);
sbr.Replace("\\", "\\\\");
sbr.Replace("\'", "\\\'");
sbr.Replace("\t", " ");
sbr.Replace("\r", " ");
sbr.Replace("\n", "<br/>");
sbr.Replace("'", "'");
sbr.Replace("\"", """);
return sbr.ToString();
}



function LoadData(id){
$.ajax({
url:"NewsAdmin.ashx",
data: {
action:"getData",
id:id,
time:parseInt(new Date().valueOf()/1000)
},
dataType: "json",
success: function(r) {
if (r.ID>0){
$("#txtTitle").val(decodeURI(r.Title));
$("#ddlIsTop").val(r.IsTop);
$("#ddlTypeID").val(r.TypeID);

//ue.ready(function() {
// ue.setContent(r.Content); //赋值给UEditor
// });
} else {
id=0;
return;
}//如果找不到数据,则不执行任何操作
}
});
}


如果后台用C#转义以下,前台input里面,单引号就显示成:\'\'\'\'
...全文
1879 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_32622093 2016-01-21
  • 打赏
  • 举报
回复
js里一般都是用单引号的吧
耕耘小生 2016-01-21
  • 打赏
  • 举报
回复
data在传json数据串的时候花括号外要加单引号
一个大猴子 2015-10-30
  • 打赏
  • 举报
回复
var result = eval("(" + r+ ")");
Go 旅城通票 2015-10-26
  • 打赏
  • 举报
回复
转为16进制编码,还可以防止乱码 asp.net转换字符串为16进制编码
slwsss 2015-10-24
  • 打赏
  • 举报
回复
sbr.Replace("'", "\\'"); sbr.Replace("\"", "\\\'");
基于Extjs的开源控件库ExtAspNet中文版 v3.1.9,ExtAspNet - 基于 ExtJS 的专业 ASP.NET 2.0 控件库,拥有完善的 AJAX 支持和丰富的界面效果。ExtAspNet 是一组基于 ExtJS 的专业 ASP.NET 2.0 控件库,拥有完善的 AJAX 支持和丰富的界面效果。 ExtAspNet 是为了创建没有 JavaScript,没有 CSS,没有 UpdatePanel,没有 ViewState,没有 WebServices 的网站应用程序。 支持的浏览器: IE 7.0+、Firefox 3.6+、Chrome 3.0+、Opera 10.5+、Safari 3.0+ 授权协议:Apache License 2.0 (Apache) ExtAspNet 是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果。目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 注:ExtAspNet 基于一些开源程序,比如ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor. +2012-08-18 v3.1.9 -修正other/addtab.aspx示例的JS错误和BoundField使用Tooltip的错误(Dennis_Liu)。 +修正Window的GetShowReference返回的字符串中包含双引号问题(︶ㄣ東東ㄣ、天蓝若空、李剑飞、克儿~)。 -虽然返回的JavaScript语句没问题,但是如果放到HTML属性中就有问题了。 -修正HtmlNodeBuilder在处理双引号等字符可能导致潜在JavaScript问题。 -从根本上解决WindowField、LinkButton、HyperLink等控件的客户端脚本中存在单引号或者双引号出现的各种问题。 -增加动态创建模板列示例grid/griddynamiccolumns2.aspx(大鸟打小鸟)。 -修正按钮的Type设为Reset无效的问题,注意重置的其实是页面上所有的表单控件(e先生)。 -修正英文下确认对话框标题依然默认中文的问题。 -修正后台对可为空的int,short,double属性赋值出现的异常(石头鱼)。 +为Window控件增加GetMaximizeReference和GetRestoreReference两个方法。 -变通的实现打开窗体后最大化:PageContext.RegisterStartupScript(Window2.GetShowReference() + Window2.GetMaximizeReference()); -增加英文示例http://demo.extasp.net/en/。 -更新行布局、列布局和锚点布局示例。 -增加表格导出Excel文件示例。 -增加表格模板列使用单选列表、复选列表的示例。 -完善在线文档http://doc.extasp.net/。 -公开ControlBase的ConvertPropertiesToJObject和RecoverPropertiesFromJObject两个方法。 -兼容Asp.Net的用户控件(UserControl)并增加示例(Spring)。 -更新示例框架,增加手风琴控件和树控件的组合菜单(幻之达)。 -修正自动树节点ID的生成规则,防止页面中多个树控件产生的命名冲突。 -修正表格WindowField生成的脚本可能会出现类似x2未定义的错误(梦如人生)。 -应广大网友的要求,表格的BoundField在启用状态并且提示信息为空的情况下去除标签。 -类似于onReady函数,增加对onInit函数的支持,用来在执行页面初始化脚本之前调用。 -优化复选框列表和单选按钮列表,减少生成的代码量。 -修正CheckBoxList和RadioButtonList无法在回发中更新的BUG(破风、吉吉﹑落叶飞尘)。 -修正CheckBoxList和RadioButtonList初始为空页面不能显示的BUG(e先生、黑眼睛咪咪、宇洋)。 -预祝俺家小师生日快乐!
基于Extjs的开源控件库ExtAspNet英文版 v3.1.9,ExtAspNet - 基于 ExtJS 的专业 ASP.NET 2.0 控件库,拥有完善的 AJAX 支持和丰富的界面效果。ExtAspNet 是一组基于 ExtJS 的专业 ASP.NET 2.0 控件库,拥有完善的 AJAX 支持和丰富的界面效果。 ExtAspNet 是为了创建没有 JavaScript,没有 CSS,没有 UpdatePanel,没有 ViewState,没有 WebServices 的网站应用程序。 支持的浏览器: IE 7.0+、Firefox 3.6+、Chrome 3.0+、Opera 10.5+、Safari 3.0+ 授权协议:Apache License 2.0 (Apache) ExtAspNet 是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果。目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 注:ExtAspNet 基于一些开源程序,比如ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor. +2012-08-18 v3.1.9 -修正other/addtab.aspx示例的JS错误和BoundField使用Tooltip的错误(Dennis_Liu)。 +修正Window的GetShowReference返回的字符串中包含双引号问题(︶ㄣ東東ㄣ、天蓝若空、李剑飞、克儿~)。 -虽然返回的JavaScript语句没问题,但是如果放到HTML属性中就有问题了。 -修正HtmlNodeBuilder在处理双引号等字符可能导致潜在JavaScript问题。 -从根本上解决WindowField、LinkButton、HyperLink等控件的客户端脚本中存在单引号或者双引号出现的各种问题。 -增加动态创建模板列示例grid/griddynamiccolumns2.aspx(大鸟打小鸟)。 -修正按钮的Type设为Reset无效的问题,注意重置的其实是页面上所有的表单控件(e先生)。 -修正英文下确认对话框标题依然默认中文的问题。 -修正后台对可为空的int,short,double属性赋值出现的异常(石头鱼)。 +为Window控件增加GetMaximizeReference和GetRestoreReference两个方法。 -变通的实现打开窗体后最大化:PageContext.RegisterStartupScript(Window2.GetShowReference() + Window2.GetMaximizeReference()); -增加英文示例http://demo.extasp.net/en/。 -更新行布局、列布局和锚点布局示例。 -增加表格导出Excel文件示例。 -增加表格模板列使用单选列表、复选列表的示例。 -完善在线文档http://doc.extasp.net/。 -公开ControlBase的ConvertPropertiesToJObject和RecoverPropertiesFromJObject两个方法。 -兼容Asp.Net的用户控件(UserControl)并增加示例(Spring)。 -更新示例框架,增加手风琴控件和树控件的组合菜单(幻之达)。 -修正自动树节点ID的生成规则,防止页面中多个树控件产生的命名冲突。 -修正表格WindowField生成的脚本可能会出现类似x2未定义的错误(梦如人生)。 -应广大网友的要求,表格的BoundField在启用状态并且提示信息为空的情况下去除标签。 -类似于onReady函数,增加对onInit函数的支持,用来在执行页面初始化脚本之前调用。 -优化复选框列表和单选按钮列表,减少生成的代码量。 -修正CheckBoxList和RadioButtonList无法在回发中更新的BUG(破风、吉吉﹑落叶飞尘)。 -修正CheckBoxList和RadioButtonList初始为空页面不能显示的BUG(e先生、黑眼睛咪咪、宇洋)。 -预祝俺家小师生日快乐!

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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