2011-11-05 2 views
1

J'ai créé un contrôle utilisateur et l'ai testé en l'ajoutant à la page aspx, il fonctionne très bien.Nom de partie Contrôle utilisateur Web Part-SP 2007

J'ai écrit le contrôle utilisateur, de sorte que je peux utiliser dans mon portail Sharepoint.

J'ai créé un projet webpart sharepoint et ajouté le code suivant à la méthode.

public class Nov059PM : System.Web.UI.WebControls.WebParts.WebPart 
{ 
    Control _myControl; 

    protected override void CreateChildControls() 
    { 
     this.Controls.Clear(); 

     _myControl = this.Page.LoadControl("~/usercontrols/Grid.ascx"); 

     this.Controls.Add(_myControl); 
    } 
} 

J'ai placé le Grid.ascx dans le répertoire C: \ inetpub \ wwwroot \ WSS \ VirtualDirectories \ myportno \ usercontrols dossier. J'ai construit le webpart et l'ai déployé.

Lorsque je tente de l'utiliser, il est dit:

Could not load type 'Grid.Grid'.

Source Error:

Line 1: <%@ Control Language="C#" AutoEventWireup="true" Inherits="Grid.Grid" %>

Je pense, Hérite devrait être quatre nom de la pièce. Comment puis-je générer quatre nom de la pièce pour le même?

Répondre

2

Vous avez déployé le fichier .ascx mais vous avez oublié l'assembly ou le fichier code-behind qui contient la classe Grid.Grid.

1

Si par nom de partie vous voulez dire nom qualifié complet, vous pouvez apprendre à le trouver on msdn ou here. En ce qui concerne votre problème spécifique, Marek vous a-t-il demandé de vérifier si vous déployez cette classe?

1

Vous devez ajouter la version complète assemblage dans

<% @ Control Language = "C#" Inherits = "Grid.Grid, Grille, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = PUBKEYTOKEN "%>

Et mettre Grid.dll dans GAC. Avant cela, vous devez appliquer SNK dans Grid.dll.

Questions connexes