Let try this:
Cache page
<%@ OutputCache Duration="60" Location="Client" VaryByParam="None" %>
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Private);
Defragment cache:
<%@ OutputCache duration="60" varybyparam="City" %>
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.VaryByParams["City"] = true;
It is cached based on input parameter