Appeler une fonction du CodeBehind depuis un webform avec page maître
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:
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:
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> |
Code behind du Webform avec page maître
Code:
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 |
Le compilateur me sort ce message d'erreur :
Citation:
'AfficheToto' n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection.
=> 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.
=> 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" ! :cry: