l'obtention de l'erreur: Chaîne de référence non définie à une instance d'une Chaîne de caractères

Quand je filtrer les enregistrements dans une base de données à la date à laquelle ils ont été la place, je veux être en mesure de naviguer à travers les enregistrements filtrés sur plusieurs pages. Maintenant, quand j'essaie d'aller à la page 2 des les enregistrements filtrés, je reçois l'erreur:

Chaîne de référence non définie à une instance d'une Chaîne de caractères.
Nom du paramètre: s `

Aussi, je remarque que les paramètres sont passés dans le changement d'url. Par exemple:

/PurchaseOrder?searchBy=Date&dateSearchBegin=08%2F15%2F2014&dateSearchEnd=09%2F01%2F2014&dateOrderedBegin=&dateOrderedEnd=&search=

devient quand je clique sur la page 2:

/PurchaseOrder?page=2&searchBy=Date

Tel qu'il est écrit dans mon code, je suis en utilisant le Request.QueryString méthode pour essayer de maintenir l'URL, mais il ne fonctionne pas pour les dates. Est-il une méthode qui est similaire à ce que je peux utiliser pour corriger cette erreur et obtenir mon résultat souhaité?

Voici mon code pour le contrôleur et la vue:

Contrôleur:

else if (searchBy == "Date")
{
    if (dateSearchBegin == "" || dateSearchEnd == "")
    {
        //string message = "Both date fields are required";

    }
    else
    {
        var dtFrom = DateTime.Parse(dateSearchBegin);
        var dtTo = DateTime.Parse(dateSearchEnd);
        return View(db.PurchaseOrders.Where(x => x.Date >= dtFrom && x.Date <= dtTo).OrderBy(i => i.Date).ToPagedList(page ?? 1, 15));
    }

}
else if (searchBy == "dateOrder")
{
    if (dateOrderedBegin== ""|| dateOrderedEnd == "")
    {
        //string message = "Both date fields are required";
    }
    else
    {
        var dtFrom = DateTime.Parse(dateOrderedBegin);
        var dtTo = DateTime.Parse(dateOrderedEnd);
        return View(db.PurchaseOrders.Where(x => x.DateOrdered >= dtFrom && x.DateOrdered <= dtTo).OrderBy(i => i.Date).ToPagedList(page ?? 1, 15));
    }
}

Vue:

@Html.PagedListPager(
    Model, page => Url.Action("Index", 
    new { page, searchBy = Request.QueryString["searchBy"], 
    search = Request.QueryString["search"], 
    dtFrom = Request.QueryString["dtFrom"], 
    dtTo = Request.QueryString["dtTo"] }),
    new PagedListRenderOptions() { DisplayPageCountAndCurrentLocation = true,
    DisplayItemSliceAndTotal = true })
InformationsquelleAutor Theo | 2014-08-19