Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   C# Warnungen bei ASP-CustomControl (https://www.delphipraxis.net/136600-warnungen-bei-asp-customcontrol.html)

xaromz 3. Jul 2009 14:03


Warnungen bei ASP-CustomControl
 
Hallo,

ich habe ein Problem bei einem CustomControl unter ASP.
Bei der Benutzung des Controls bekomme ich immer Warnungen:
Zitat:

Validierung (XHTML 1.1): Der Name enthält Großbuchstaben. Dies ist nicht zulässig.
Validierung (XHTML 1.1): Das menuitem-Element wird nicht unterstützt.
Wie kann ich das verhindern? Andere Controls können das doch auch.

Ach ja, wo ich gerade dabei bin: Wie schaffe ich es, dass beim NavigateUrl-Attribut der Editor erscheint?

Einbindung in die Seite:
XML-Code:
<ibn:Menu ID="TestMenu" CssClass="testmenu" runat="server">
    <MenuItem Name="Home" NavigateUrl="~/Default.aspx"></MenuItem>
    <MenuItem Name="Work" NavigateUrl="~/abc.aspx"></MenuItem>
</ibn:Menu>
Quellcode des Controls:
Code:
public class MenuItem
{
    public string Name
    { get; set; }

    [UrlProperty]
    [Category("Navigation")]
    [Editor("System.Web.UI.Design.UrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
    public string NavigateUrl
    { get; set; }
}

public class MyControlBuilder : ControlBuilder
{
    public override Type GetChildControlType(String tagName, IDictionary attributes)
    {
        if (String.Compare(tagName, "MenuItem", true) == 0)
        {
            return typeof(MenuItem);
        }
        return null;
    }
}

[ToolboxData("<{0}:Menu runat=server></{0}:Menu>")]
[ParseChildren(false)]
[ControlBuilderAttribute(typeof(MyControlBuilder))]
public class Menu : WebControl
{
    List<MenuItem> _Items = new List<MenuItem>();

    public List<MenuItem> Items
    {
        get { return _Items; }
    }

    protected override void AddParsedSubObject(object obj)
    {
        if (obj is MenuItem)
            _Items.Add((MenuItem)obj);
        else
            base.AddParsedSubObject(obj);
    }
}
Gruß
xaromz


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz