html字符编码问题__.net core razor页面如何将后台对象序列成jso
发布时间:2020-12-16 08:56:29 所属栏目:asp.Net 来源:网络整理
导读:方法一:后台直接添加htmlstring字符串,给到前台: ? ? A-将含有html编码的字符串转为Html字符串传给Js对象存储: Razor页面: string test = HttpUtility.HtmlEncode( " a'b?c " ); JS属性接收- 使用Html.Raw将html字符串反编码回来 : window[ test " ] =
方法一:后台直接添加htmlstring字符串,给到前台: ? ? A-将含有html编码的字符串转为Html字符串传给Js对象存储: Razor页面: string test = HttpUtility.HtmlEncode("<a'b?c>"); JS属性接收-使用Html.Raw将html字符串反编码回来: window[test"] = { a" :@Html.Raw(test)",}; 重点1:假如test="<a'b?c>",这样直接给JS用不就好了?? 关键问题是含有特殊字符的字符串放进js中默认是会编码的,因此无论你的后台字符串是编码后的还是编码前的,在JS中最好都要使用Html.Raw反编码回来。 重点2:假如test=HttpUtility.HtmlEncode("<a"b?c>");? 含有双引号怎么办?? 我们这样传递给js属性时会因为中间多了一个引号而报错的,那么此时我们是需要对双引号进行单独转义替换的,将双引号“"”改为:“"”。 重点3:js属性接收字符变量的时候,需要使用双引号包裹。 如下: string test = <a"b?c>.Replace(""",""); string test = HttpUtility.HtmlEncode(test); ? B-将对象序列化成字符串传递给Js对象存储: 1-将对象序列化成字符串: var jsonStr=JsonHelper.ConvertJsonToStr(jObject);
2-前台显示: window["test"] = { "a" :@jsonStr? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 每次检索web.config值时,您是否将磁盘“命中”?
- asp.net – 为什么在Visual Studio 2010中禁用“使用自定义
- asp.net-mvc – MVC – 用于触发Ajax.ActionLink的按钮
- asp.net-mvc – nhibernate:具有相同标识符值的不同对象已
- 依赖于文件的.net核心asp.net单元测试 – appsettings.json
- asp.net mvc – asp.net mvc Html.ActionLink()保持路由值我
- Asp.net core 2.2 的一些特点
- asp.net – 了解runat服务器属性
- asp.net-core – 为什么Bind属性似乎破坏了我对嵌套对象的模
- asp.net – 升级到WebAPI 2.1时出错XmlDocumentationProvid