Bonjour,
J'ai réussi à faire un assembly de UserControls, avec par exemple dans un fichier CS contenu dans mon projet de librairie:
et à l'exploiter dans une page aspx de mon site:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace ClassLibrary { [DefaultProperty("Text")] [ToolboxData("<{0}:DateTextBox runat=server></{0}:DateTextBox>")] public class DateTextBox : TextBox { public string TextBefore { get; set; } [Bindable(true)] [Category("Appearance")] [DefaultValue("")] [Localizable(true)] public override string Text { get { String s = (String)ViewState["Text"]; return ((s == null) ? String.Empty : s); } set { ViewState["Text"] = value; } } protected override void RenderContents(HtmlTextWriter output) { output.Write(Text); } protected override void Render(System.Web.UI.HtmlTextWriter writer) { if (TextBefore != null && !string.Empty.Equals(TextBefore)) { writer.Write("<B>" + TextBefore + " :</B> "); } base.Render(writer); } protected override void OnPreRender(EventArgs e) { this.Width = Unit.Pixel(70); this.MaxLength = 10; this.ToolTip = "dd/MM/yyyy"; this.Text = DateTime.Today.ToShortDateString(); base.OnPreRender(e); } } }
J'aimerai pouvoir faire la même chose avec des CustomControls (ascx); je ne peux pas en créer directement dans le projet de librairie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <%@ Page Language="C#" MasterPageFile="~/Pages/Site1.master" AutoEventWireup="true" CodeBehind="~/Pages/Default.aspx.cs" Inherits="WebApplication.Pages._Default" %> <%@ MasterType VirtualPath="~/Pages/Site1.master" %> <%@ Register Assembly="ClassLibrary" Namespace="ClassLibrary" TagPrefix="uc" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <div> <uc:DateTextBox id="DateFieldUC" TextBefore="Ma date" runat="server" /> </div> </asp:Content>
Quelqu'un peut-il m'aider à trouver une astuce pour créer des dll d'ascx ?
Merci pour votre aide et vos conseils !
Partager