2013-04-06 4 views
1

Я пытаюсь сериализовать свой linq в JSON. Моя проблема Json result wrapped in pre tag - how to get value of it. Ответ - это не то, что я ищу. Вот мой код КонтроллерДоступ к JSON возвращен контроллером в представлении

return Json(regionBoudaries, JsonRequestBehavior.AllowGet); 

Я вижу, что моя JSON строка записывается на странице Теперь я пишу что-то вроде что-то вроде

Вид

$(document).ready(function() {   
    initialize(); 
    process(a_variable); 
} 

Как установить значение a_variable значения JSon, возвращаемого контроллером. Пожалуйста, помогите мне. Спасибо заранее

+0

Можете ли вы рассказать нам, как вы вызываете свое действие контроллера, которое возвращает JSON? Обычно мы видим шаблон, в котором вызывается одно действие контроллера, чтобы визуализировать представление, а затем некоторый код javascript клиента в этом представлении вызывает другое действие контроллера для извлечения и обработки некоторого JSON. Похоже, вы пытаетесь сделать это за один шаг, а не за два шага? –

ответ

1

Вы можете использовать вид модель:

public class MyViewModel 
{ 
    public class SomeType RegionBoudaries { get; set; } 

    ... some other properties 
} 

и затем действие контроллера, обслуживающее этот вид заселить свойство модели представления:

public ActionResult SomeAction() 
{ 
    var model = new MyViewModel(); 
    model.RegionBoudaries = ... same stuff as in your other action 
    return View(model); 
} 

, а затем в соответствующий строго типизированный вид:

@model MyViewModel 
... 
<script type="text/javascript"> 
    $(document).ready(function() {   
     var a_variable = @Html.Raw(Json.Encode(Model.RegionBoudaries)); 
     initialize(); 
     process(a_variable); 
    }); 
</script> 
Смежные вопросы