2015-05-05 6 views
2

У меня есть метод Action, который возвращает JSON, для краткости, я исключил код. :Доступ к динамическому свойству при вызове действия .... MVC

public ActionResult SetMasterLocation(string masterValue) 
{ 
    json = new JavaScriptSerializer().Serialize(masterLocation); 
    return Json(json, JsonRequestBehavior.AllowGet); 
} 

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

var jVendors = SetMasterLocation(masterValue); 

Когда я запускаю его и проверьте вывод, я вижу строку JSON в динамическом свойстве под названием Data :

enter image description here

enter image description here

Но если я пытаюсь получить доступ к данным, как это, приложение не будет компилироваться, так как компилятор говорит, что не удается разрешить символ «Data»:

 var jVendors = SetMasterLocation(masterValue); 
     var data = jVendors.Data; 

Как получить доступ к свойству данных во время выполнения?

+0

Где вы вызовите метод 'вар jVendors = SetMasterLocation (masterValue)'? – Liam

+0

Кроме того, почему бы вам просто не вернуть строку, а не ActionResult, если вы хотите прочитать json в виде строки? – Liam

+0

@Liam - Я закончил это, но я знаю, что сделал то, что я пытался сделать в предыдущем проекте. Ответ ниже – BoundForGlory

ответ

1

Вернуться JsonResult

return new JsonResult() 
{ 
    Data = someData, 
    JsonRequestBehavior = JsonRequestBehavior.AllowGet 
}; 

Затем, вы можете получить доступ Data свойство результата

+0

Thats it! Спасибо, Майк – BoundForGlory

Смежные вопросы