I have two controllers(controllerA.actionA & controllerB.actionB) which share the same view & ViewModel(ViewModel\_Shared).

So, in both Controller, I use RedirectToAction to redirect to a third controller(controllerC.actionC) which points to the shared view.
All three Actions are in different Controller.
When ActionA or ActionB was invoked All the parameters that post from view was sent to the modelC in actionC successfully.

However, when I try to feed data into the object(Item), NullReference exception was thrown. the object(Item) was NULL.

But I'm sure the constructor of ViewModel\_Shared was hit TWICE while ActionA was called and ActionC was called.

So, basically, object(Item) was NEW twice.

I don't really understand why it's like that.
thank you all in advance!!!

```
public ActionResult actionA (ViewModel_Shared modelA)
{
        return RedirectToAction("actionC", "controllerC", modelA);
}

public ActionResult actionB (ViewModel_Shared modelB)
{
        return RedirectToAction("actionC", "controllerC", modelB);
}

public ActionResult actionC (ViewModel_Shared modelC)
{
        modelC.FillEditedData();

        // Send the data to view
        ViewData.Model = modelC;
        return View();
}

public class ViewModel_Shared
{
    public ItemCustomer Item { get; set; }

    public ViewModel_Shared()
    {
        Item = new ItemCustomer();
    }

    public void FillEditedData()
    {
        // NullReference exception was throw here, somehow, Item is null.
        Item.LegalCost = "some value";
    }
}

[Serializable]
public class ItemCustomer
{
    public string Item_No { get; set; }
    public string MaterialPricingGroup { get; set; }
    public string MaterialGroup { get; set; }
    public string Plant { get; set; }
    public string LegalCost { get; set; }
}

```