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 propose la cration d=
'un
contrle 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 premire tape, et je pche dj. :/

Je n'insiste pas sur le fait que Visual Studio se soit ferm sans
pravis aprs m'avoir propos d'insrer la nouvelle classe dans l=
e
rpertoire App_Code, bon en rouvrant j'ai retrouv mes petits.

Comme indiqu sur la page ci-dessus mentionne, j'ai cr une cla=
sse
MonPremierControle.cs, puis dans default.aspx j'y ai fait appel, le tout
dans le mme site.

Le fichier default.aspx dmarre 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 dfaut 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 bt blesse, car =
on me
rpond
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 trs solide sur la
notion d'assembly, pourtant en faisant tout dans le mme site je
n'aurais pas d avoir de souci, si ?

Voil le code de la classe MonPremierControl. Un certain nombre de
rfrences sont proposes par dfaut, j'ai mis en commentaire cel=
les qui
ne sont pas retenues sur la page d'exemple.
Dbut ==
==
=
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 contrle</h1>");
}
}
}
= Fin ==
==
==
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