2011-01-05 21 views
10

Merhaba Bir bağlantıya json gibi görünen bir görünüm göndermeye çalışıyorum. Bu olsa böyle görünümünde onun render çıkışC# to json görünümünde doğru şekilde görüntülenmiyor

class Place 
     { 
      public string title { get; set; } 
      public string description { get; set; } 
      public double latitude { get; set; } 
      public double longitude { get; set; } 
     } 

List<Place> placeList = new List<Place>(); 
//add places to PlaceList 

//Then i do this 
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 
      string sJSON = oSerializer.Serialize(placeList); 
      ViewBag.Places = sJSON; 

: yerlerin listesi gönderme

Im

[{&quot;title&quot;:&quot;sdf sdfsd sdf sd f&quot;,&quot;description&quot;:&quot;sdf sdf sd fsd sd sdf sdf dssd sdf sd s&quot;,&quot;latitude&quot;:53.740259851464685,&quot;longitude&quot;:-2.4602634343627927}, 

Nasıl o görünümde normal json işlemek için alabilirim? eksi &quot; vb?

cevap

20

sizin görünümü Razor kullanıyorsunuz @ViewBag.Places

kullanıyor demek? Eğer öyleyse @ sözdizimi <%: ile aynı şeyi yapar - içeriği kodlar.

bunu önlemek için IHtmlString arayüzü kullanın, yani ya:

ViewBag.Places = new HtmlString(sJSON); 

Ya

@HtmlString(ViewBag.Places) 
1

Size aşağıda yorumunda

string sJSON = HttpServerUtility.HmltDecode(oSerializer.Serialize(placeList)); 
+0

Garip olduğunu düşünüyorum oSerializer.Serialize dönüş html kodlanmış dize. Görünümünüzdeki görüntülemenin ön işleme tabi olmadığından emin misiniz? –

+0

Denedim: HttpUtility.HtmlDecode (oSerializer.Serialize (placeList)); - aynı sonuç – raklos

+0

benim görüşüme sahip: "yerler": @ ViewBag.Places – raklos

5
@Html.Raw(ViewBag.Places) 

da çalışır ayrıca

İlgili konular