Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

2 réponses
Avatar
Gloops
Bonjour tout le monde,

Dans la newsletter de developpez.com, nous est propos=E9e la cr=E9ation d=
'un
contr=F4le pour un site web.

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


Je me dis que voil=E0 une excellente initiative, aussi je me suis coll=E9=
=E0
mettre =E7a en application.

Euh ... J'en suis =E0 la premi=E8re =E9tape, et je p=EAche d=E9j=E0. :/

Je n'insiste pas sur le fait que Visual Studio se soit ferm=E9 sans
pr=E9avis apr=E8s m'avoir propos=E9 d'ins=E9rer la nouvelle classe dans l=
e
r=E9pertoire App_Code, bon en rouvrant j'ai retrouv=E9 mes petits.

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

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

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

Par d=E9faut on a dans default.aspx un <div> </div>, l=E0-dedans j'ai cas=
=E9
<MyCtl:MonPremierControl runat=3D"server" />

ce qui =E9tait donc le but, et c'est juste l=E0 que le b=E2t blesse, car =
on me
r=E9pond
Error 1 Element 'MonPremierControl' is not a known element. This can
occur if there is a compilation error in the Web site.=09

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

Voil=E0 le code de la classe MonPremierControl. Un certain nombre de
r=E9f=E9rences sont propos=E9es par d=E9faut, j'ai mis en commentaire cel=
les qui
ne sont pas retenues sur la page d'exemple.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D D=E9but =3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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=F4le...</h1>");
}
}
}
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Fin =3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

2 réponses

Avatar
Jérémy Jeanson
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 :

<%@ Register TagPrefix="MyCtl" Namespace="Dvp.Controls" %>

Celle que tu as utilié est valable par contre pour une application web.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Gloops
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 :

<%@ Register TagPrefix="MyCtl" Namespace="Dvp.Controls" %>

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