Intead of asp:HyperLinkField try using
asp:TemplateField[
^].
Try this:
<asp:TemplateField>
<ItemTemplete>
<asp:HyperLink runat="server" NavigateUrl='<%#state.aspx?id="+DataBinder.Eval(Container.DataItem,"Category_name")+"&d="+DataBinder.Eval
(Container.DataItem,"Subcategory_name"%>' Text='<%#Eval("Category_name") %>' />
</ItemTemplete>
</asp:TemplateField>
--Amit