Dans le contrôleur:System.InvalidCastException: dans une vue partielle ASP.NET MVC
public ActionResult Index()
{
ViewData["page"] = 0;
return View(data);
}
public ActionResult More(long page = 0)
{
ViewData["page"] = page;
return View(data);
}
Donc, j'ai deux vues: Index.aspx et More.aspx. J'ai créé une vue partielle (PartialView.ascx) qui est utilisée dans les deux vues. Dans la vue partielle, il a accédé à la fois à Model et à ViewData. La chose étrange (pour moi en tout cas) est que lorsque j'ai essayé de jeter ViewData [ « page »] à une longue, je recevrais l'exception coulée suivant pour l'une des vues:
System.InvalidCastException: Specified cast is not valid.
J'ai essayé de jeter la ViewData [ "page"] comme ce qui suit:
if ((long) ViewData["page"] > 1) { ... }
et
long page = (long) ViewData["page"];
if (page > 1) { ... }
Chacun d'entre eux jetterait une exception coulée dans une vue de l'autre (mais pas les deux). Une différence entre Index.aspx et More.aspx est que Index.aspx utilise une page maître et pas More.aspx.
Quelqu'un aurait-il une idée de ce qui pourrait ne pas fonctionner? S'il vous plaît laissez-moi savoir si j'ai besoin de fournir plus de détails. BTW, je suis farily nouveau à C# et ASP.NET MVC.
Re. le type de numéro de page, probablement pas. Mais je reçois ceci d'un service Web et je n'ai pas vraiment le contrôle sur le type. :( Merci pour la suggestion Je vais l'essayer –
Vous devez être en train de plaisanter .... que * c'est * ça! –