2016-05-12 3 views
0
string jsonoutput = JsonConvert.SerializeObject(ReportDefenitionJson); 

Как передавать данные от одного метода другому, возвращая Json для просмотра? Вот и пример того, что я имею в виду:Данные для передачи данных между методами mvc

public JsonResult SubmitReport(string JsonStringSend, Guid ReportId) 
{ 
    dynamic JSend = JObject.Parse(JsonStringSend); 
    var schema = JsonSchema4.FromType<ReportItem>(); 
    var schemaData = schema.ToJson(); 
    var errors = schema.Validate(JSend.JsonString); 
    schema = JsonSchema4.FromJson(schemaData); 
    Guid ReportID = Guid.NewGuid(); 
    Guid GetUserID = Guid.NewGuid(); 
    DateTime CurrentDateTime = DateTime.Now; 
    string ReportCreator = GetUserID.ToString() + " : " + CurrentDateTime.ToString(); 
    JObject Report = (JObject)JSend["JsonString"]; 
    Report["ReportID"] = ReportID.ToString(); 
    Report["CreatedBy"] = ReportCreator; 
    string ReportDefenitionJson = Report.ToString(); 
    string ReportIdJsonFileName = ReportID.ToString() + ".json"; 
    this.StoreReportDefenition(ReportDefenitionJson, ReportIdJsonFileName); 

    List<ReturnJsonErrors> ReturnJson = new List<ReturnJsonErrors>(); 
    ReturnJson.Add(new ReturnJsonErrors { Success = true, Errors = null }); 

    return Json(ReturnJson, JsonRequestBehavior.AllowGet); 
} 

public void StoreReportDefenition(string ReportDefenitionJson, string ReportIdJsonFileName) 
{ 
    string jsonoutput = JsonConvert.SerializeObject(ReportDefenitionJson); 
    byte[] byteArray = Encoding.UTF8.GetBytes(jsonoutput); 
    MemoryStream fileContents = new MemoryStream(byteArray); 
    var fullAddress = string.Format("11a5/Reporting/Reports/Report/{0}", ReportDefenitionJson); 
    AmazonS3Repository repo = new AmazonS3Repository(InRollPlus.Shared.ConstantVals.ConstantItem.AWS_ACCESS_KEY, InRollPlus.Shared.ConstantVals.ConstantItem.AWS_SECRET_KEY); 
    repo.PutFile(fileContents, fullAddress, null, "data.json", false); 
} 

Как передать ReportDefenitionJson и ReportIdJsonFileName методу StoreReportDefenition в то же время возвращения JSon к виду?

+0

Что случилось с 'this.StoreReportDefenition (ReportDefenitionJson, ReportIdJsonFileName)' перед возвратом JsonResult? Что делает этот метод? – Jasen

+0

Будет ли это выполнять StoreReportDefenition? Или мне нужно добавить метод execute в StoreReportDefenition? –

+0

'StoreReportDefenition' - это просто метод экземпляра, который ничего не возвращает. Вы не предоставляете никакого кода для этого, чтобы никто не мог догадаться, что он делает. Вы пробовали это с помощью отладчика? – Jasen

ответ

0

Использование this.StoreReportDefenition(ReportDefenitionJson, ReportIdJsonFileName); Передаст данные и выполнит метод идеально.

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