Bonjour,
Voici donc l'épisode 2 des mes mésaventures. Mon problème est directement lié à celui de l'épisode 1 mais un peu plus poussé.
Pour re-situer le problème :
je viens de récupérer un projet développé en vb.net en tant que "Site Web Asp.Net" et ma mission consiste à le convertir en "Application Web Asp.Net".
J'ai suivi les différentes étapes listées ici : Converting a Web Site Project to a Web Application Project in Visual Studio
Après avoir résolus toutes les problèmes de références manquantes, je me retrouve face à un dernier problème (du moins j'espère que c'est le dernier celui-ci).
Contexte : je possède une page maître et un "webform avec page maître".
Pour résumer et simplifier au maximum : dans le aspx de ma "webform avec page maître", une fonction du codebehind est appelée pour formater une donnée. Mais cela ne semble pas fonctionner dans la version "application" de mon site.
Page maître
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <%@ Master Language="VB" AutoEventWireup="false" CodeBehind="MP.master.vb" Inherits="WebApplication_testVide.MP" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <body> <asp:ContentPlaceHolder ID="body" runat="server" /> </body> </html>
Webform avec page maître
Code behind du Webform avec page maître
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/MP.Master" CodeBehind="WebFormTest.aspx.vb" Inherits="WebApplication_testVide.WebFormTest" %> <asp:Content ID="Content2" ContentPlaceHolderID="body" runat="server"> <%= AfficheToto()%> </asp:Content>
Le compilateur me sort ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Public Class WebFormTest Inherits System.Web.UI.Page Protected Function AfficheToto() As String Return "toto" End Function End Class
=> Là je sèche... quand je fais ce test en utilisant un webform sans page maître (voir épisode 1) ça fonctionne parfaitement, mais pas dans le cas avec page maître.'AfficheToto' n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection.
=> Je fais à nouveau appel à la communauté ! Auriez vous une solution à m'apporte afin que cela fonctionne ?
Pour info :
- Mes compétences en vb.net sont limitées, pardonnez moi si je passe à côté de quelquechose qui pourrait sembler simple !
- Cet extrait de code est bien sur simplifié. En réalité les appels aux méthodes de formatage sont présents dans le ItemTemplate d'un ListView.
- Je ne peux pas me permettre de recoder l'application, car ce n'est pas le seul site que je doive convertir et cette tâche est sensée être "rapide" !
Partager