Click here to Skip to main content
15,885,985 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I wanna create a server control like the following :
<%@ Register Assembly="MdsAccordionMenu" Namespace="MdsAccordionMenu" TagPrefix="cc1" %>
    <cc1:MdsAccordionMenu ID="MdsAccordionMenu1"  runat="server">
    	<MdsAccordionMenuItem Title="Some Title">
    		<MdsAccordionMenuItem Text="some text" Link="http://" IconUrl="image.png" />
    		<MdsAccordionMenuItem Text="some text" Link="http://" IconUrl="image.png" />
    		<MdsAccordionMenuItem Text="some text" Link="http://" IconUrl="image.png" />
    		<MdsAccordionMenuItem Text="some text" Link="http://" IconUrl="image.png" />
    	</MdsAccordionMenuItem>
    </cc1:MdsAccordionMenu> 

I written the following c# code , but it doesn't work :
MdsAccordionMenu.cs :
C#
namespace MdsAccordionMenu
    {
    	[ToolboxData("<{0}:MdsAccordionMenu  runat="server"></{0}:MdsAccordionMenu>")]
    	[ParseChildren(true, "MdsAccordionMenuItems")]
    	[DefaultProperty("MdsAccordionMenuItems")]
    	[Serializable]
    	public class MdsAccordionMenu : WebControl
    	{
    		[Description("سرعت نمایش انیمیشن")]
    		[DefaultValue(500)]
    		public int AnimationSpeed { get; set; }
    
    		[Browsable(false), PersistenceMode(PersistenceMode.InnerProperty)]
    		public List<MdsAccordionMenuItem> MdsAccordionMenuItems { get; set; }
    	}
    }


MdsAccordionMenuItem.cs :
C#
namespace MdsAccordionMenu
    {
    	//[TypeConverter(typeof(ExpandableObjectConverter))]
    	[ParseChildren(true, "MdsAccordionItems")]
    	[DefaultProperty("Title")]
    	[Serializable]
    	public class MdsAccordionMenuItem
    	{
    		[Description("تیتر منو")]
    		[DefaultValue("Title")]
    		[NotifyParentProperty(true)]
    		public string Title { get; set; }
    
    		[Browsable(false), PersistenceMode(PersistenceMode.InnerProperty)]
    		[NotifyParentProperty(true)]
    		public List<MdsAccordionItem> MdsAccordionItems { get; set; }
    	}
    }


MdsAccordionItem .cs:
C#
namespace MdsAccordionMenu
    {
        [Serializable]
        public class MdsAccordionItem : INamingContainer
        {
            [NotifyParentProperty(true)]
            [Description("متن")]
            public string Text { get; set; }
    
            [NotifyParentProperty(true)]
            [Description("آدرس لینک منو")]
            public string Link { get; set; }
    
            [NotifyParentProperty(true)]
            [Description("آدرس آیکون")]
            public string ImageUrl { get; set; }
        }
    }


How can I do it?
Could you please guide me ?
Thanks
Posted
Comments
ZurdoDev 8-Feb-12 8:37am    
What does "it doesn't work" mean?

1 solution

 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900