I've also built one dynamic menu in asp.net, and i'm using this following structure
CREATE TABLE [dbo].[tbl_WebMenu](
[MenuID] [int] NOT NULL,
[MenuName] [nvarchar](max) NOT NULL,
[MenuLocation] [nvarchar](max) NULL,
[ParentID] [int] NOT NULL,
CONSTRAINT [PK_tbl_WebMenu] PRIMARY KEY CLUSTERED
(
[MenuID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Storing 0 in the ParentID.