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 = 0; 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){3,}/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;
}
|