Pass a value to multiple actions with tempdata

525 Views Asked by At

I want to get an ID through one action and pass it to two other actions with temp data

How can I pass a value to multiple actions?

1

There are 1 best solutions below

0
Jason Pan On

When you want keep Tempdata, you need use TempData.Peek and TempData.Keep. You can refer my sample code to use it.

If you don't want keep data, you just get data like getdata3. You can get value when first request.

Sample Code

    public string setdata(string data)
    {
        TempData["data"] = data;
        
        return "success";
    }
    public string getdata1()
    {
        TempData.Peek("data");
        if (TempData["data"] == null)
        {
            return "not set";
        }
        else {
            TempData.Keep("data");
            return TempData["data"].ToString();
        }
    }
    public string getdata2()
    {
        TempData.Peek("data");
        if (TempData["data"] == null)
        {
            return "not set";
        }
        else
        {
            TempData.Keep("data");
            return TempData["data"].ToString();
        }
    }
    public string getdata3()
    {
        if (TempData["data"] == null)
        {
            return "not set";
        }
        else
        {
            return TempData["data"].ToString();
        }
    }

enter image description here