I want to redirect to another action in same controller and pass one parameter value. I have this code:

```
public ActionResult Index()
{

}

public ActionResult SomeAction()
{
  if (isFailed)
  {
    // Redirect to Index Action with isFailed parameter so that some message gets displayed on Index page.
  }
 }

```

I read about using `TempData` but my session is read only (for some purpose) thus I if I save data in `TempData` in `SomeAction`, it does not help since `TempData` is empty in `Index` action.

Another thing I tried is using `RedirectToAction("Index","Test", new { param = isFailed})` in `return` statement of `SomeAction`. This works and I can access `param` in `Index` action using `Request.QueryString['param']` but the issue with this is the url now becomes `/AreaName?param=true` where I want it to be `/AreaName/Test/`. 

This is my routemap:

```
        context.MapRoute(
            "default",
            "AreaName/{controller}/{action}/{param}",
            new { controller="Test", action = "Index", param=UrlParameter.Optional },
        );

```

I am submitting a form using "post" from MyJS.js to `SomeAction`. 

Is there any alternative/workaround method for doing this? In nutshell, I want these three things:

1. Redirect to `Index` action.
2. Pass the value of `param` from `SomeAction` to `Index`.
3. Keep the URL: `http://localhost/AreaName/Test/`