We Write

Home » Blog Details

Web Application Development Company - Multi Level Dropdown Menu

Multi Level Dropdown Menu

Multi Level Dropdown Menu

Multi Level Menu with ASP.NET, C#, jQuery and SQL Server

solution that I would like to share with others puzzled with the same as was one of my website development guys was having a tough time creating a multi level dropdown menu from database,
So I gave him this :
1. Database
We will be using 2 tables to achieve the same :
a. Category Table ( tbl_cat ):
Category_ID : Unique ID
Category_Name : Text
b. Table to hold category relations ( tbl_cat_rel )
Rel_ID : Unique ID
Category_ID : foreign key
Parent_ID : Parent Category ID
Sort_ID : In case you want to sort category display.

2. Stored Procedure

This part is bit tricky as we will be calculating number of childs a particular category holds
					

CREATE PROCEDURE sp_getCategory					

AS					

BEGIN					

Select a.Category_ID, a.Parent_ID, c.Category_Name, b.totalSubCats 					

from tbl_cat_rel as a LEFT OUTER JOIN 					

(SELECT Parent_ID, count(*) as totalSubCats 					

FROM tbl_cat_rel GROUP BY Parent_ID) as b 					

ON a.Category_ID = b.Parent_ID					

LEFT OUTER JOIN tbl_cat as c 					

on a.Category_ID = c.Category_ID					

ORDER BY a.Category_ID					

END					



3. jQuery

Although you can use any jQuery menu you find suitable, for this example I am using
DDSmooth menu available at : http://www.dynamicdrive.com/dynamicindex1/ddsmoothmenu.htm


4. Codes
I am assuming that you have selected a suitable menu Literal or similar to print its navigation values. In this example I will be using literal as follows :
					

<div id="smoothmenu1" class="ddsmoothmenu"> 					

<asp:Literal runat="server" ID="lt_navMenu"></asp:Literal>					

<br style="clear: left" />					

</div>					


And here are the CS codes :
					

// I am sure you know how to get data from tables :)					

this.createMenu(DSdataSet.Tables["tbl_categories"], 0); 					

					

private void createMenu(DataTable dt, int pID)					

{					

lt_navMenu.Text = lt_navMenu.Text + "&lt;ul&gt;";					

for (int i = 0; i < dt.Rows.Count; i++) //Loop until rows are still there.					

{					

if (Convert.ToInt32(dt.Rows[i]["ParentID"]) == pID) 					

{					

lt_navMenu.Text = lt_navMenu.Text + "<li><a href=\"/" +					

dt.Rows[i]["Category_Name"].ToString() + ".aspx \">" + 					

dt.Rows[i]["Category_Name"].ToString() + "</a>";					

					

//Till the time item has childs					

if (dt.Rows[i]["totalSubCats"] != DBNull.Value) 					

this.createMenu(dt, Convert.ToInt32(dt.Rows[i]["catID"]));					

lt_navMenu.Text = lt_navMenu.Text + "</li>";					

}					

}					

lt_navMenu.Text = lt_navMenu.Text + "</ul>";					

}					



The above was used in - http://www.svengg.co/


Till Next...
Jaswant.

SIMILAR POSTS

Digital marketing - Understanding What and Why

Now, that you have reached to this page of India's best digital marketing company, let's begin with its'  What and Why!! There are a zillion websites on the internet today for every and any single search you make on the search engine. But, why is it so that few companies are better known, recognized and making good profits than the others. What's their secret of success? A good website isn't just great to look at. The motive of a website is much... CONTINUE READING

Seo Synonymns

SEO, as we all know by now, it not mere linking and backlinking. In fact after the new updates with Google, paid links are making the websites drown.Other than that, what has been majorly important for Google, that has never changed in terms of its importance in Google's consideration? CONTENT... Natural effective informative content. Google asks you to tell itself and the audience what your page, your company is all about, what services or products you offer. It should... CONTINUE READING

Rules Business

1.The customer is out for himself, not for you. 2.Be clever, don't just try to be. 3.If all you do is respond to complaints, that's all you will get to do. 4.Bring out your mind, Stop and Ask. 5.It's fine that Nothing works at times. 6.You can learn from anyone and everyone. 7.Keep your custom website updated or do away with it. 8.Once social, be social, it's a 24/7 act. 9.Don't make your professionals crazy doing A,B and then C.... CONTINUE READING

Android App Development - Gingerbread No More!

Professional android development company, Megasoftwares in Delhi, has always been updated and been talking about what latest is introduced in the web world. In 2010, Gingerbread was the most talked about in reference to androids. On one of our pages we listed in short about Android and Gingerbread. As tells Wikipedia, "Android "Gingerbread" is the 7th system of Android and a codename of the Android mobile operating system developed by Google and released... CONTINUE READING

B2C Portal v/s B2B portal – Comparison of Online Market Portal

Online B2C marketplace portals are the most widely looked for by end users as well as by companies aiming at better customer relationship and hence better revenue. Users are the ones who actually make your business run by their buying power. And what better if you reach upto them directly with your product information, product selling and get their direct feedbacks for a better online business. No doubt, that would improve your business efficiency and productivity.... CONTINUE READING
Contact Us
Let's Talk .
We do what we love and so we love what we do and we do exactly what you need !

DROP US A LINE

Copyright © 2003-2018 MegaSoftwares - Web Design, Website Development and Web Marketing Agency in India
Go Top