The URL below contains "amp;" which is preventing the code in Product.aspx from reading in the CategoryId.
http://localhost:50953/LL_live_2012/Products/Madonna?DepartmentId=23&CategoryId=13
I have copied the code below from a page that uses NavigateUrl to send the user to Product.aspx.
<asp:DataList ID="list" runat="server" RepeatColumns="4" CssClass="ProductList" >
<ItemTemplate>
<table cellpadding="5px">
<tr>
<td class="ProductTitle">
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#: Page.GetRouteUrl("ProductRoute", new {DepartmentId = Server.UrlEncode(Eval("departId").ToString()), CategoryId = Server.UrlEncode(Eval("categoryId").ToString()), CatName = Eval("CatName")})%>' text='<%# E ...
Go to the complete details ...