原名周家坪,清初属西乡德化里管辖。
清末及民国初年属上沙塘坝乡。
民国二十五年(1936年),改为旱麓乡,为乡政府驻地。
1949年10月后,属汉山区管辖,为周家坪镇所在地。
1961年,南郑县政府迁此。
1996年6月,撤区并乡建镇,由原周家坪镇、白马乡及连山乡的石门、汉坪村和协税乡的潘营、张坝村合并成城关镇。
2001年12月,撤销中所镇后,将原中所镇的国庆、红桥、五丰、草堰、齐力、高庄6个村并入。
2011年6月,更名为汉山镇。