Création de contrôle : ah, encore un peu de boulot

Le
Gloops
Bonjour tout le monde,

Dans la newsletter de developpez.com, nous est proposée la création d=
'un
contrôle pour un site web.

http://rmainil.developpez.com/tutoriels/dotnet/controles/textbox-asp-net/=


Je me dis que voilà une excellente initiative, aussi je me suis collé=
à
mettre ça en application.

Euh J'en suis à la première étape, et je pêche déjà. :/

Je n'insiste pas sur le fait que Visual Studio se soit fermé sans
préavis après m'avoir proposé d'insérer la nouvelle classe dans l=
e
répertoire App_Code, bon en rouvrant j'ai retrouvé mes petits.

Comme indiqué sur la page ci-dessus mentionnée, j'ai créé une cla=
sse
MonPremierControle.cs, puis dans default.aspx j'y ai fait appel, le tout
dans le même site.

Le fichier default.aspx démarre comme ceci :
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.asp=
x.cs"
Inherits="_Default" %>
<%@ Register TagPrefix="MyCtl" Namespace="Dvp.Controls"
Assembly="MonControle" %>

(si j'inverse les deux c'est pire)

Par défaut on a dans default.aspx un <div> </div>, là-dedans j'ai cas=
é
<MyCtl:MonPremierControl runat="server" />

ce qui était donc le but, et c'est juste là que le bât blesse, car =
on me
répond
Error 1 Element 'MonPremierControl' is not a known element. This can
occur if there is a compilation error in the Web site.

Ah. J'ai pourtant reporté le namespace par copier/coller (voir ci-dessu=
s
et ci-dessous), j'ai l'impression de ne pas être très solide sur la
notion d'assembly, pourtant en faisant tout dans le même site je
n'aurais pas dû avoir de souci, si ?

Voilà le code de la classe MonPremierControl. Un certain nombre de
références sont proposées par défaut, j'ai mis en commentaire cel=
les qui
ne sont pas retenues sur la page d'exemple.
Début ==
==
=
using System;
//using System.Data;
//using System.Configuration;
using System.Web;
//using System.Web.Security;
using System.Web.UI;
//using System.Web.UI.WebControls;
//using System.Web.UI.WebControls.WebParts;
//using System.Web.UI.HtmlControls;

namespace Dvp.Controls
{
/// <summary>
/// Summary description for MonPremierControl
/// </summary>
public class MonPremierControl:Control
{
public MonPremierControl()
{
//
// TODO: Add constructor logic here
//
}

protected override void Render(HtmlTextWriter writer)
{
writer.Write("<h1>Mon premier contrôle</h1>");
}
}
}
= Fin ==
==
==
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy Jeanson
Le #18926011
Bonjour Glops,

Ne t'en fais, pas il n'y a rien de grave. Dans ton cas tu semble avoir
fait un Site Web (on ne s'attardera pas sur la différence avec une
application Web... il y en a des kilomètre de page sur le web).

Le truc c'est que tu t'es certainement trompé dans la ligne Register. Vu
que tu as un site web, il n'y a pas qu'un assembly de sortie, mais
plusieurs donc ne mentionne pas l'assembly car ils ont des noms à
coucher dehors.

la ligne suivante te suffira amplement pour ton register :


Celle que tu as utilié est valable par contre pour une application web.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Gloops
Le #18926911
Bonjour Jérémy,

Ouaouh, effectivement, pile poil.

Bon alors outre la notion d'assembly, il faut que je creuse la
distinction entre site et application web. ça tombe bien, demain il y a
grève des transports, ça laisse du temps :)

Je savais déjà que derrière un site web il pouvait y avoir une base de
données, un appel à des webservices, là je viens de prendre conscie nce
que l'application pouvait être distincte du site.

Après je vais pouvoir regarder le reste de l'exercice ...

Ma foi puisque tu me dis de ne pas m'en faire, je te fais confiance. ça
tombe bien, ça m'arrange :)

Merci pour la réponse.
_____________________________________________
Jérémy Jeanson a écrit, le 18/03/2009 08:41 :
Bonjour Glops,

Ne t'en fais, pas il n'y a rien de grave. Dans ton cas tu semble avoir
fait un Site Web (on ne s'attardera pas sur la différence avec une
application Web... il y en a des kilomètre de page sur le web).

Le truc c'est que tu t'es certainement trompé dans la ligne Register. Vu
que tu as un site web, il n'y a pas qu'un assembly de sortie, mais
plusieurs donc ne mentionne pas l'assembly car ils ont des noms à
coucher dehors.

la ligne suivante te suffira amplement pour ton register :


Celle que tu as utilié est valable par contre pour une application we b.


Publicité
Poster une réponse
Anonyme