Soyez le premier à donner votre avis sur cette source.
Vue 11 634 fois - Téléchargée 412 fois
Télécharger le source (.ZIP) pour avoir le code complet. Dans la page index.aspx en code behind: ----------------------------------------------------- Imports System.IO Public Class WebForm1 Inherits System.Web.UI.Page #Region " Code généré par le Concepteur Web Form " 'Cet appel est requis par le Concepteur Web Form. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Protected WithEvents panelModule As System.Web.UI.WebControls.Panel Protected WithEvents dlModules As System.Web.UI.WebControls.DataList Protected WithEvents cmdModule As System.Web.UI.WebControls.LinkButton Protected WithEvents lblInfo As System.Web.UI.WebControls.Label 'REMARQUE : la déclaration d'espace réservé suivante est requise par le Concepteur Web Form. 'Ne pas supprimer ou déplacer. Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form 'Ne le modifiez pas en utilisant l'éditeur de code. InitializeComponent() End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Placez ici le code utilisateur pour initialiser la page If Session("CurrentModules") Is Nothing Then lblInfo.Text = "Aucun module de sélectionné" lblInfo.Visible = True Else lblInfo.Visible = False panelModule.Controls.Add(LoadControl(Session("CurrentModules"))) End If mDisplay_Files() End Sub Private Sub dlModules_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles dlModules.EditCommand Session("CurrentModules") = Session("ListModules")(e.Item.ItemIndex) Response.Redirect("index.aspx") End Sub Private Sub mDisplay_Files() Dim sFiles As Array Dim sFile As String Dim Array As New ArrayList sFiles = (Directory.GetFiles(Server.MapPath(""), "*.ascx")) For Each sFile In sFiles Array.Add(Path.GetFileName(sFile)) Next 'Affichage des fichiers dans une datalist With dlModules .DataSource = Array .DataBind() .Dispose() End With 'Sauvegarde du tableau de fichier dans une session 'pour gérer par la suite l'événement de la datalist Session("ListModules") = Array End Sub End Class Dans la page index.aspx en mode html: ----------------------------------------------------- <%@ Page Language="vb" AutoEventWireup="false" Codebehind="index.aspx.vb" Inherits="gestionnaire_ascx.WebForm1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>Module d'administration</title> <meta content="True" name="vs_snapToGrid"> <meta content="True" name="vs_showGrid"> <LINK href="admin.css" type="text/css" rel="StyleSheet"> </HEAD> <body> <form id="module" runat="server"> <table cellSpacing="0" cellPadding="4" width="100%" border="0"> <tr> <td vAlign="top" width="150">Modules installés:<br> <asp:DataList id="dlModules" RepeatColumns="1" RepeatDirection="Vertical" ShowFooter="False" ShowHeader="False" runat="server"> <ItemTemplate> <font class="Intro11"> <asp:LinkButton id="cmdModule" CommandName="edit" runat="server"> <%# container.dataitem %> </asp:LinkButton></font> </ItemTemplate> </asp:DataList> </td> <td vAlign="top"> <asp:Label id="lblInfo" runat="server">Label</asp:Label> <asp:Panel id="panelModule" runat="server"></asp:Panel> <br> </td> </tr> </table> </form> </body> </HTML> Ensuite ben ajouter vos contrôles ascx dans le même répertoire que l'index... (voir le zip)
http://www.hanselman.com/blog/MovingTheCodeBehindAssembliesDLLsToADifferentFolderThanBINWithASPNET11.aspx
Ainsi vous pourrez avoir les dll de vos plugins ailleurs que dans le /bin de l'application principale :)
Ce qui donc fesait qu'il ne trouvais pas le rep /bin
Merci pour cette source, elle semble être assez interresante.
Lorsque je met ton code, j'optient l'erreur suivante :
Message d'erreur de l'analyseur: Impossible de charger le type 'gestionnaire_ascx.WebForm1'.
Erreur source:
Ligne 1 : <%@ Page Language="vb" AutoEventWireup="false" Codebehind="index.aspx.vb" Inherits="gestionnaire_ascx.WebForm1"%>
Ligne 2 : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Ligne 3 : <HTML>
Peux-tu m'aider ?
Merci d'avance
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.