Razor 将C#对象转换成Javascript对象

在Razor中使用Json字符串,特殊字符被自动转义(如:\"->")

@{
var jsonStr = Html.Raw(JsonUtil.ToJson(VieBag.data));
}
<script>
var data = JSON.parse(@jsonStr);
</script>

ViewBag.Data = list;

<script type="text/javascript">
//将数据对象转换为 JSON 格式,是为了在网页中通过使用JS将数据作为文本进行处理
var data = @Html.Raw(Json.Encode(ViewBag.Data));
for (var i = ; i < data.length; i++) {
var model=data[i];
console.log("编号:"+model.id+" 姓名:"+model.name+" 性别:"+model.sex);
}
</script>
var c = document.createElement('div');
c.innerHTML = '@strData';
var arrData = JSON.parse(c.innerText);

在JS中还原被转码的字符

<script type="text/javascript">
var a = 'h&nbsp;hello&lt;world&gt;!!!&lt;script&gt;alert(1)&lt;/script&gt;'
alert(a);
var c = document.createElement('div');
c.innerHTML = a;
a = c.innerText || c.textContent;
c = null;
alert(a);
</script>

JS转换HTML转义符

//去掉html标签

function removeHtmlTab(tab) {
return tab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签
}
//普通字符转换成转意符 function html2Escape(sHtml) {
return sHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];});
}
//转意符换成普通字符 function escape2Html(str) {
var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
}
// &nbsp;转成空格 function nbsp2Space(str) {
var arrEntities = {'nbsp' : ' '};
return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]})
}
//回车转为br标签 function return2Br(str) {
return str.replace(/\r?\n/g,"<br />");
}
//去除开头结尾换行,并将连续3次以上换行转换成2次换行 function trimBr(str) {
str=str.replace(/((\s|&nbsp;)*\r?\n){,}/g,"\r\n\r\n");//限制最多2次换行
str=str.replace(/^((\s|&nbsp;)*\r?\n)+/g,'');//清除开头换行
str=str.replace(/((\s|&nbsp;)*\r?\n)+$/g,'');//清除结尾换行
return str;
}
// 将多个连续空格合并成一个空格 function mergeSpace(str) {
str=str.replace(/(\s|&nbsp;)+/g,' ');
return str;
}

//去掉html标签

1
2
3
function removeHtmlTab(tab) {
 return tab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签
}

//普通字符转换成转意符

1
2
3
function html2Escape(sHtml) {
 return sHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];});
}

//转意符换成普通字符

1
2
3
4
function escape2Html(str) {
 var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
 return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
}

// &nbsp;转成空格

1
2
3
4
function nbsp2Space(str) {
 var arrEntities = {'nbsp' : ' '};
 return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]})
}

//回车转为br标签

1
2
3
function return2Br(str) {
 return str.replace(/\r?\n/g,"<br />");
}

//去除开头结尾换行,并将连续3次以上换行转换成2次换行

1
2
3
4
5
6
function trimBr(str) {
 str=str.replace(/((\s|&nbsp;)*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次换行
 str=str.replace(/^((\s|&nbsp;)*\r?\n)+/g,'');//清除开头换行
 str=str.replace(/((\s|&nbsp;)*\r?\n)+$/g,'');//清除结尾换行
 return str;
}

// 将多个连续空格合并成一个空格

1
2
3
4
function mergeSpace(str) {
 str=str.replace(/(\s|&nbsp;)+/g,' ');
 return str;
}

Razor 将C#对象转换成Javascript对象, json还原被转码的字符 &quot·· HTML转义符的更多相关文章

  1. Java对象转换成xml对象和Java对象转换成JSON对象

    1.把Java对象转换成JSON对象 apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串.也可以把JavaBean转换成JSON字符串. json-lib的核心 ...

  2. json字符串转json对象,json对象转换成java对象

    @RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @Resp ...

  3. json字符串转成 json对象 json对象转换成java对象

    import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> ...

  4. 如何将JQUERY对象转成Javascript对象

    问: <div id="test"></div> $("#test") //由Javascript对象转为Jquery对象: 但是如何转 ...

  5. 把json格式的字符串转换成javascript对象或数组

      第一种 JSON.parse(jsonString) 第二种 eval("("+jsonString+")") 第三种 var obj=(function ...

  6. django QuerySet对象转换成字典对象

    >>> from django.contrib.auth.models import User >>> from django.forms.models impor ...

  7. Array.prototype.slice.call()等几种将arguments对象转换成数组对象的方法

    网站搬迁,给你带来的不便敬请谅解! http://www.suanliutudousi.com/2017/10/10/array-prototype-slice-call%E7%AD%89%E5%87 ...

  8. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

    一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...

  9. python class对象转换成json/字典

    # -*- encoding: UTF-8 -*- class Student: name = '' age = 0 def __init__(self, name, age): self.name ...

随机推荐

  1. SystemID

    A:BJQUANYONG-B:CCC332322987612323008002DDD A:JHDUJIA-B:CCC1365323754641263423809708001DDD A:GUANGZHO ...

  2. Javascript中的闭包(转载)

    前面的话: 闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它.下面是作者从作用域链慢慢讲到 ...

  3. 在线绘图网站 UML、思维导图、 流程图、 用例图等等

    https://www.processon.com/ 用我的微信登录即可 帐号是 QQ邮箱

  4. “全栈2019”Java第三十五章:面向对象

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. SFML从入门到放弃(2) 图像和音频

    SFML从入门到放弃(2) 图像和音频 精灵 精灵(sf::Sprite)就是截取纹理(sf::Texture)的一块 或者重复纹理贴图 初始化精灵和纹理的一些方法: sf::Sprite init_ ...

  6. PHP函数补完:call_user_func()

    call_user_func是PHP的内置函数,该函数允许用户调用直接写的函数并传入一定的参数,下面总结下这个函数的使用方法. 1,call_user_func函数类似于一种特别的调用函数的方法,使用 ...

  7. tcp 建立连接的三次握手,以及关闭连接的4次挥手

    TCP连接的三次握手 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; (客户端问服务器:你爱我吗?) 第二次握手:服务器收到syn包,必须确认客户的 ...

  8. 量化分析获取数据的3种姿势(压箱底的神器Tushare)

    自打入门量化分析起,就有相当部分的时间在与数据打交道,从数据的获取.清洗到使用,对分析而言既是繁琐的,也是必须的.有大牛曾经说,量化分析有8成的开发时间都在处理数据. 为了节省时间,将更多精力投入到策 ...

  9. Eclipse右键增加在浏览器打开

    https://github.com/samsonw/OpenExplorer/downloads 放在  \eclipse\plugins 下,右键项目就多一个 以后打开项目文件夹就方便了.

  10. python爬虫urllib库使用

    urllib包括以下四个模块: 1.request:基本的HTTP请求模块,可以用来模拟发送请求.就像在浏览器里输入网址然后回车一样,只需要给库方法传入URL以及额外的参数,就可以模拟实现这个过程. ...