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 hello<world>!!!<script>alert(1)</script>'
alert(a);
var c = document.createElement('div');
c.innerHTML = a;
a = c.innerText || c.textContent;
c = null;
alert(a);
</script>
//去掉html标签 function removeHtmlTab(tab) {
return tab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签
}
//普通字符转换成转意符 function html2Escape(sHtml) {
return sHtml.replace(/[<>&"]/g,function(c){return {'<':'<','>':'>','&':'&','"':'"'}[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];});
}
// 转成空格 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| )*\r?\n){,}/g,"\r\n\r\n");//限制最多2次换行
str=str.replace(/^((\s| )*\r?\n)+/g,'');//清除开头换行
str=str.replace(/((\s| )*\r?\n)+$/g,'');//清除结尾换行
return str;
}
// 将多个连续空格合并成一个空格 function mergeSpace(str) {
str=str.replace(/(\s| )+/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 {'<':'<','>':'>','&':'&','" ': '"' }[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];});
} |
// 转成空格
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| )*\r?\n){ 3 ,}/g, "\r\n\r\n" ); //限制最多2次换行
str=str.replace(/^((\s| )*\r?\n)+/g, '' ); //清除开头换行
str=str.replace(/((\s| )*\r?\n)+$/g, '' ); //清除结尾换行
return str;
} |
// 将多个连续空格合并成一个空格
1
2
3
4
|
function mergeSpace(str) {
str=str.replace(/(\s| )+/g, ' ' );
return str;
} |