I'm trying to set up some basic navigation on a web site I'm rewriting and I've run into a brick wall and don't see why this is not working. I'm doing something similar in a half dozen other places but it just ain't working.

What I want to do is if my article has a next and or previous ID I want to show a navigation bar with appropriate forward/reverse navigation arrows or whatever to allow user to navigate pages.

The ViewModel

```
public class NavViewModel
{
    public int NextID { get; set; }
    public int PreviousID { get; set; }
    public string NextString { get; set; }
    public string PreviousString { get; set; }
    public bool SelectedMode { get; set; }

    public NavViewModel() { }
 }

```

The View

```
@Html.HiddenFor(model => model.NavigationViewModel.PreviousID)
@Html.HiddenFor(model => model.NavigationViewModel.NextID)
<div class="post-nav">
    @if (@Model.NavigationViewModel.PreviousString != null)
    {
        using (Html.BeginForm("SinglePost", "Article", FormMethod.Post, new { @nvm = Model.NavigationViewModel }))
        {
            <input type="submit" class="btn btn-default" value="@Model.NavigationViewModel.PreviousString" />
        }
    }
    @if (@Model.NavigationViewModel.NextString != null)
    {
        using (Html.BeginForm("SinglePost", "Article", FormMethod.Post, new { nvm = @Model.NavigationViewModel }))
        {
            <input type="submit" class="btn btn-default" value="@Model.NavigationViewModel.NextString" />
        }
    }
</div>

```

and the Controller

```
    [HttpPost]
    public ActionResult SinglePost(NavViewModel nvm)
    {
        return RedirectToAction("SinglePost", "Article", new { postID = nvm.PreviousID });
    }

```

I've tried passing back the bool, the IDs, the ViewModel and they all come null or containing null values.
I had this code in a PartialView and because it wasn't working I moved it up a level into the calling view and it has the same result.