Получить JsonResult в функции ASP.net - PullRequest
1 голос
/ 31 января 2011

Как я могу получить результат метода, который возвращает JsonResult и приводит в строку.

 [HttpPost]
        public JsonResult AnalyseNbPayment(DateTime dt, DateTime dt2,int FrequencyID) {

            if (FrequencyID == ApplConfig.Frequency.WEEKLY) {
                return Json(new  { val = GetNbWeek(dt, dt2) });
            }
            else if (FrequencyID == ApplConfig.Frequency.MONTHLY) {
                return Json(new  { val =GetDateDiffInMonth(dt, dt2) });
            }
            else if (FrequencyID == ApplConfig.Frequency.QUARTELY) {
                   return Json(new  { val = GetQuarterLy(dt, dt2) });
            }
            else if (FrequencyID == ApplConfig.Frequency.BI_MONTLY) {
               return Json(new  { val = GetBiMontlhy(dt, dt2) });
            }
            else if(FrequencyID == ApplConfig.Frequency.YEARLY)
            {
                return Json(new { val = GetNbYear(dt, dt2) });
            }

            return Json(new { val =0 });
        }

Я хочу вызвать мой метод так

string MyValue = AnalyseNbPayment(Convert.ToDateTime(ViewModel.oRent.DateFrom), Convert.ToDateTime(ViewModel.oRent.DateTo), Convert.ToInt32(oLease.FrequencyID)).val.ToString(); <br />

Спасибо

Ответы [ 2 ]

2 голосов
/ 31 января 2011

Попробуйте это:

var jsonResult = AnalyseNbPayment();
var json = new JavaScriptSerializer().Serialize(jsonResult.Data);
0 голосов
/ 12 мая 2011

Другой вариант - использовать тип dynamic для получения информации. В вашем случае это будет (убедитесь, что .Data в конце задания):

dynamic MyValue = AnalyseNbPayment(Convert.ToDateTime(ViewModel.oRent.DateFrom), Convert.ToDateTime(ViewModel.oRent.DateTo), Convert.ToInt32(oLease.FrequencyID)).Data;

Тогда вы можете просто сделать следующее:

//the var val will be the appropriate data type...in your case it looks like int so .ToString() will get you what you want.
var result = MyValue.val.ToString();

Динамический тип - это безумие!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...