webpages框架使用@razor语法向js代码传递Json字符串
进入web开发时间太短,一个人尝试着做了几个初级项目,遇到了太多的困难。尽管不是学开发专业的,仅为爱好所以硬着头皮坚持了下来。
将遇到的问题记录下来,备查。
- 使用vs2015中asp.net razor3网站模板作为基础逐渐扩展,遇到了服务器传递回js的Json字符串错误。
- 错误表现:原本字符串中的转义字符 \" ,通过 @变量名 传递到js代码中,变成了 "
- 在网上检索了一下,遇到这个问题的不多,应该是初级错误;
- 看了一篇文章,其原因如下:为了防止某些攻击,系统将敏感字符进行了加工,于是就有了 \" => " 的结果 ,原文链接
- 解决方法:将js代码中‘@变量名’用Html.Row(变量名)直接输出。
- 该问题得到解决。
例如:
服务器端代码如下:
System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();
var jsonStr = jss.Serialize(temJson);
此时:使用断点,监视jsonStr,结果正确,部分字符串如下:
"[{\"Id\":905,\"生产日期\":\"\\/Date(1460649600000)\\/\",\"月份\":4,。。。。。。}]"
js引用jsonStr代码为:
var json=JSON.parse('@jsonStr');
试运行,IE到这里出现错误,将字符串中的 \" 转化成了 "
修改该行代码为:
var json=JSON.parse('@(Html.Raw(jsonStr))');
再运行,结果正确。
webpages框架使用@razor语法向js代码传递Json字符串的更多相关文章
- JS代码把JSON字符串转换为对象,计算对象的长度并把它转换为数字类型,把转换的值相加减
Number(JSON.parse(rowObject.RenewalProperty).length)-1
- Asp.net mvc怎么在razor里写js代码
我试图在Razor里写JS代码,但是不行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3 ...
- 【JS对象、JSON字符串】之间的相互转换
在Firefox,chrome,opera,safari,ie9,ie8等浏览器直接可以用JSON对象的stringify()和parse()方法. 1.JSON.stringify(obj)将JS对 ...
- js在前端json字符串和对象互相转化
js在前端json字符串和对象互相转化 //对象转json串 注意:参数必须是对象,数组不起作用,对象格式{'0'=>'a'} JSON.stringify( arr ); //json字符串转 ...
- 数据库中存储js代码无法json解析
.net-------------------Microsoft.JScript.GlobalObject.escape(); 编码 Mircorsoft.JScript.GlobalObject.u ...
- js中把JSON字符串转换成JSON对象最好的方法
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...
- Js中把JSON字符串转换为JSON对象(eval()、new Function())
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...
- Js前端传递json数组至服务器端并解析的实现。
最近做的一个小项目中需要将json数组数据传递到服务器端进行保存,现分享一下解决思路. 环境:EasyUi+Mvc 4.0 如下: 在上述截图中的红色圈起来的部分,需要在点击保存后通过一次ajax请求 ...
- JS对象与json字符串格式
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
随机推荐
- zookeeper系列之一—zookeeper入门
Zookeeper是什么? Zookeeper故名思议动物管理员,它是拿来管大象(Hadoop).蜜蜂(Hive).小猪(Pig)的管理员,Apache Hbase和Apache Solr以及Link ...
- struts2 + spring + mybatis 框架整合
在Eclipse下基于Maven整合Struts2,Spring和Mybatis3框架. 新建Maven project,type选择webapp 工程目录如下 修改pom.xml文件如下: < ...
- Android 路径大全
1 内部存储路径为/data/data/youPackageName/ 目录结构 //返回cache文件对象 this.getCacheDir(); //返回databases下指定文件 this.g ...
- UE4高级功能--初探超大无缝地图的实现LevelStream
转自:http://blog.csdn.net/u011707076/article/details/44903223 LevelStream 实现超大无缝地图--官方文档学习 The Level S ...
- Cheatsheet: 2015 04.01 ~ 04.30
Other CentOS 7.1 Released: Installation Guide with Screenshots A Git Style Guide Recommender System ...
- Create Stacked Canvas to Scroll Horizontal Tabular Data Blocks In Oracle Forms
In this tutorial you will learn to create horizontal scrollable tabular or detail data block by usin ...
- EasyUI--初学
首先的是配置: 在WebContent下导入jQuery-EasyUI包 其次在HTML或jsp页面的<head></head>标签中,导入或引用js包 <head> ...
- sencha touch建立新项目
首先你得有一个sencha touch的环境,如下图: 图1 touch的sdk环境 有了这个之后,通过在cmd中执行下列命令: sencha -sdk /path/to/framework gene ...
- So easy Webservice 7.CXF 发布WebService
(一)使用ServerFactoryBean 方式实现发布WS服务 1.新建项目,添加cxf jar包到项目中 2.编写服务实现类 /** * CXF WebService * 不用注解 * @aut ...
- Python数据类型之列表
一.基本数据类型 整数:int 字符串:str(注:\t等于一个tab键) 布尔值: bool 列表:list (元素的集合) 列表用[] 元祖:tuple 元祖用() 字典:dict注:所有的数据类 ...