Hello tout le monde
Voilà, je suis en plein apprentissage de l'asp.NET avec Visual Web Developer, donc je débute pas mal en utilisant le C#.
Je m'entraîne et apprend avec les ateliers fournis par Microsoft sur leur site.
Jusqu'ici tout allait bien, malheureusement je suis tombé sur un gros obstacle, alors que j'ai suivi leur atelier à la lettre (je crois que j'aurais pas dû ^^).
En fait, le principe est que l'on a une page appelée MasterPage.master qui est une page maître contenant des pages de contenu.
Dans cette page maître nous avons un <asp:literal> nommé "ltlPiedDePage", qui est, comme vous l'auriez deviné, un pied de page. Dans l'atelier fourni par Microsoft, il est demandé de changer dynamiquement ce pied de page.
Nous avons donc un Code Behind dans la page masterpage.master.cs qui est le suivant:
public partial class MasterPage : System.Web.UI.MasterPage
{
//une propriété publique PiedDePage qui renvoit la valeur de la propriété Text du contrôle ltlPiedDePage
public String PiedDePage
{
get
{
return ltlPiedDePage;
}
set
{
ltlPiedDePage.Text= value;
}
}
}
Ensuite on enregistre et l'on doit rajouté une directive a une page de contenu pour définir le type de page maître dont la page hérite :
<%@ MasterPageFile="~/MasterPage.master" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ MasterType VirtualPath="~/MasterPage.master" %>
<asp:Content ID="Content1" runat="Server" ContentPlaceHolderID="Main">
<asp:Label runat="server" Text="Label" ID="Label1"> Bienvenue sur Affaires sans risques, N°1 des petites annonces en France !!
</asp:Label>
</asp:Content>
Enfin, on va dans le code behind de la page de contenu de la page de contenu, et on lui rajoute le code permettant de changer dynamiquement le pied de page:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "Bienvenue sur Affaires sans risques, N°1 des petites annonces en France !!";
//Personnalisation du pied de page
Master.PiedDePage = "Merci de prendre quelques instants pour répondre à notre <a href=EnqueteSatisfaction.aspx>enquête de satisfaction</a>";
}
}
Déjà là ca plante à moitié, l'Intellisense ne reconnaissant pas ma propriété PiedDePage, alors que j'ai bien enregistré toutes les pages, ainsi que les sources.
Et quand j'essaye de lancer l'aperçu, l'erreur est la suivante:
CS0029: Impossible de convertir implicitement le type 'System.Web.UI.WebControls.Literal' en 'string'
Donc, en gros, les literal ne peuvent pas être convertis automatiquement en string si je comprends bien...
Pourtant j'ai regardé leur tuto, et Microsoft n'en parle pas...(en même temps...Microsoft...)
Bah d'avance de votre aide ^^.
je quote tu quotes...