[英]JSON generation in ASP.NET MVC 3
我從Scott Mitchell撰寫的有關將Google Maps與ASP.NET MVC結合使用的文章中獲得了以下示例代碼:
@{
var locations = new List<string>();
var infoWindowContents = new List<string>();
foreach (var store in Model) {
locations.Add(string.Format(
@"{{
title: ""Store #{0}"",
position: new google.maps.LatLng({1}, {2})
}}",
store.StoreNumber,
store.Latitude,
store.Longitude));
infoWindowContents.Add(string.Format(
@"{{
content: ""<div class=\""infoWindow\""><b>Store #{0}</b><br />{1}<br />{2}, {3} {4}</div>""
}}",
store.StoreNumber,
store.Address,
store.City,
store.Region,
store.PostalCode)
);
}
}
但是,當頁面呈現時,將顯示以下內容(我在“&”和“”之間添加了一個空格
{
title: & quot;Store #893& quot;,
position: new google.maps.LatLng(32.7178080, -117.1611020)
}
最可能與JSON編碼有關,但我仍然是ASP.NET MVC的初學者。
您應該嘗試將希望輸出的JSON包裝在MvcHtmlString中
輸出位置時,不僅要使用變量,還要將其包裝在@Html.Raw(i)
。 通過這種方式,渲染引擎知道不必轉義可能的危險字符(如引號)。 在代碼中,它看起來應該像
@for(var location in locations)
{
Html.Raw(location);
}
還要看一下JsonResult。 與創建自己的json字符串相比,使用Is更容易,更清潔。
嘗試使用@ :,所以它不會HTML編碼輸出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.