To pass object from controller method to controller method use this extension methid;
public static class TempDataExtensions
{
public static void Put<T>(this ITempDataDictionary tempData, string key, T value) where T : class
{
tempData[key] = JsonConvert.SerializeObject(value);
}
public static T Get<T>(this ITempDataDictionary tempData, string key) where T : class
{
object o;
tempData.TryGetValue(key, out o);
return o == null ? null : JsonConvert.DeserializeObject<T>((string)o);
}
}
And, you can use them as follows:
Say objectA
is of type ClassA
. You can add this to the temp data dictionary using the above mentioned extension method like this:
TempData.Put("key", objectA);
And to retrieve it you can do this:
var value = TempData.Get<ClassA>("key")
where value
retrieved will be of type ClassA
To configure TempData in ASP.NET Core, Refer to this article
Reference
https://stackoverflow.com/questions/34638823/store-complex-object-in-tempdata

