2010-08-03 3 views
0

J'utilise SPGridView dans une page personnalisée qui a été déployée via SharePoint Designer. Maintenant, en 2007, tout a bien fonctionné, mais en 2010, la pagination ne fonctionne pas et entraîne une erreur si vous essayez de passer à la page suivante, donc ma question est;Utilisation du code compilé pour MOSS 2007 en 2010

Lors de l'utilisation du code personnalisé compilé pour les assemblys 2007, SharePoint utilise-t-il les contrôles 2007 (SPGridView) ou exécute-t-il une sorte de redirection et tente-t-il d'utiliser les contrôles 2010? C'est la seule explication à laquelle je puisse penser qui pourrait causer des problèmes.

+0

Enfait après avoir regardé plus loin, je suis sûr que mon code est redirigé pour utiliser les contrôles de la version 14. Puis-je remplacer cela pour ce cas particulier? – sparkymark75

Répondre

0

La propriété DataKeyNames était à l'origine du problème. Lorsque j'ai supprimé cette pagination a fonctionné comme prévu.

0

Le SPGridView est contenu dans l'assembly Microsoft.SharePoint.dll (espace de noms Microsoft.SharePoint.WebControls).

Quelle version de Microsoft.SharePoint.dll est installée sur votre serveur? Si vous utilisez un serveur avec 2010 installé, vous devez lire ce MSDN post sur la façon de redéployer les personnalisations qui ont été créées pour 2007 en 2010.

Je vous recommande vivement de ne pas essayer d'utiliser une version différente de SharePoint. dll juste pour ce contrôle, vous allez vous retrouver avec un gâchis. Il suffit de créer votre code pour 2010 en utilisant l'article auquel je me suis connecté et votre pagination devrait fonctionner correctement.

+0

Le serveur a été mis à niveau vers SharePoint 2010. J'ai recompilé mon projet pour les assemblys de la version 14 et je l'ai redéployé, mais le même problème persiste. – sparkymark75

+0

Ensuite, votre code devrait utiliser le 2010 SPGridView et vous ne pouvez pas vraiment le faire utiliser celui de 2007. Est-ce que votre SPGridView fonctionne dans votre environnement de développement? Quel genre d'erreur obtenez-vous? Une erreur javascript ou une exception ou autre chose? –

+0

L'erreur est; System.InvalidCastException: Impossible de convertir l'objet de type 'System.Int32' en type 'System.String'. à Microsoft.SharePoint.WebControls.SPGridView.set_PageIndex (valeur Int32) à Microsoft.SharePoint.WebControls.SPGridViewPager.OnClickNext (Arguments EventArgs) à Microsoft.SharePoint.WebControls.SPGridViewPager.RaisePostBackEvent (String eventArgument) à System.Web.UI.Page .RaisePostBackEvent (IPostBackEventHandler sourceControl, String eventArgument) sur System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint – sparkymark75

Questions connexes