クエリ文字列を使用した URL ルーティングに問題があります。
Global.asax コード
RouteTable.Routes.Add("Mycity", new Route("Mycity/{cityname}",
new PageRouteHandler("~/Default.aspx")));
default.aspx コード
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%$RouteUrl:RouteName=Mycity,cityname=Eval("cityname")%>'>
city_name は sqldata テーブル列の名前です Eval("city_name")