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

Wie übertrage ich Daten von einer Methode zu einer anderen, während Json zu einer Ansicht zurückgibt? Hier ist und Beispiel dafür, was ich meine:Übergeben Sie Daten zwischen Mvc-Methoden

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); 
} 

Wie gehe ich ReportDefenitionJson und ReportIdJsonFileName das Verfahren StoreReportDefenition während noch Json zu der Ansicht zurückzukehren?

+0

Was ist los mit 'this.StoreReportDefenition (ReportDefenitionJson, ReportIdJsonFileName)' vor der Rückgabe des JsonResult? Was macht die Methode? – Jasen

+0

Wird StoreReportDefenition ausgeführt? Oder muss ich eine Execute-Methode in StoreReportDefenition hinzufügen? –

+0

'StoreReportDefenition' ist nur eine Instanzmethode, die nichts zurückgibt. Sie stellen keinen Code dafür zur Verfügung, so dass niemand erraten kann, was es tut. Hast du das mit dem Debugger versucht? – Jasen

Antwort

0

Verwendung this.StoreReportDefenition(ReportDefenitionJson, ReportIdJsonFileName); Übergibt die Daten und führen Sie die Methode perfekt aus.

Verwandte Themen