Course Hive
Search

Welcome

Sign in or create your account

Continue with Google
or
jQuery dynamic menu from database in asp net
Play lesson

jQuery tutorial for beginners - jQuery dynamic menu from database in asp net

5.0 (2)
25 learners

What you'll learn

This course includes

  • 22.5 hours of video
  • Certificate of completion
  • Access on mobile and TV

Summary

Keywords

Full Transcript

Link for all dot net and sql server video tutorial playlists https://www.youtube.com/user/kudvenkat/playlists?sort=dd&view=1 Link for slides, code samples and text version of the video http://csharp-video-tutorials.blogspot.com/2015/07/jquery-dynamic-menu-from-database-in.html Healthy diet is very important both for the body and mind. If you like Aarvi Kitchen recipes, please support by sharing, subscribing and liking our YouTube channel. Hope you can help. https://www.youtube.com/channel/UC7sEwIXM_YfAMyonQCrGfWA/?sub_confirmation=1 In this video we will discuss, how to build a jQuery menu using data from a database table. Menu.cs class using System.Collections.Generic; namespace Demo { public class Menu { public int Id { get; set; } public string MenuText { get; set; } public int? ParentId { get; set; } public bool Active { get; set; } public List<Menu> List { get; set; } } } MenuHandler.ashx using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.Script.Serialization; namespace Demo { public class MenuHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString; List<Menu> listMenu = new List<Menu>(); using (SqlConnection con = new SqlConnection(cs)) { SqlCommand cmd = new SqlCommand("spGetMenuData", con); cmd.CommandType = CommandType.StoredProcedure; con.Open(); SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Menu menu = new Menu(); menu.Id = Convert.ToInt32(rdr["Id"]); menu.MenuText = rdr["MenuText"].ToString(); menu.ParentId = rdr["ParentId"] != DBNull.Value ? Convert.ToInt32(rdr["ParentId"]) : (int?)null; menu.Active = Convert.ToBoolean(rdr["Active"]); listMenu.Add(menu); } } List<Menu> menuTree = GetMenuTree(listMenu, null); JavaScriptSerializer js = new JavaScriptSerializer(); context.Response.Write(js.Serialize(menuTree)); } public List<Menu> GetMenuTree(List<Menu> list, int? parent) { return list.Where(x => x.ParentId == parent).Select(x => new Menu { Id = x.Id, MenuText = x.MenuText, ParentId = x.ParentId, Active = x.Active, List = GetMenuTree(list, x.Id) }).ToList(); } public bool IsReusable { get { return false; } } } } HTML & jQuery code <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Demo.WebForm1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="jquery-1.11.2.js"></script> <script src="jquery-ui.js"></script> <link href="jquery-ui.css" rel="stylesheet" /> <script type="text/javascript"> $(document).ready(function () { $.ajax({ url: 'MenuHandler.ashx', method: 'get', dataType: 'json', success: function (data) { buildMenu($('#menu'), data); $('#menu').menu(); }, error: function (err) { alert(err.statusText); } }); function buildMenu(parent, items) { $.each(items, function () { var li = $("<li>" + this.MenuText + "</li>"); if (!this.Active) { li.addClass('ui-state-disabled'); } li.appendTo(parent); if (this.List && this.List.length > 0) { var ul = $("<ul></ul>"); ul.appendTo(li); buildMenu(ul, this.List); } }); } }); </script> </head> <body style="font-family: Arial"> <form id="form1" runat="server"> <div style="width: 150px"> <ul id="menu"> </ul> </div> </form> </body> </html>

Course Hive

Continue this lesson in the app

Install CourseHive on Android or iOS to keep learning while you move.

Related Courses

FAQs

Course Hive
Download CourseHive
Keep learning anywhere