Sachverhalt: A. Der indische Staatsangehörige X._ (geb. 1966) reiste im September 2002 in die Schweiz ein und stellte ein Asylgesuch. Das Bundesamt für Flüchtlinge lehnte dieses am 3. Oktober 2002 ab und wies X._ aus der Schweiz weg. Auf die dagegen erhobene Beschwerde trat die Schweizerische Asylrekurskommission mit Urteil vom 19. Dezember 2002 nicht ein. Ab Oktober 2004 galt X._ als verschwunden. Am 20. Juni 2006 heiratete X._ in Zürich die Schweizer Bürgerin Y._ (geb. 1932), worauf ihm eine Aufenthaltsbewilligung für den Kanton Zürich erteilt wurde. Diese wurde letztmals bis zum 19. Juni 2008 verlängert. Y._ verstarb nach einer Erkrankung am 20. Oktober 2007. Am 30. Mai 2008 ersuchte X._ um Verlängerung seiner Aufenthaltsbewilligung, was das Migrationsamt des Kantons Zürich am 24. November 2008 verweigerte. Die dagegen im Kanton Zürich erhobenen Rechtsmittel wurden vom Regierungsrat am 9. Dezember 2009 und vom Verwaltungsgericht am 24. März 2010 abgewiesen. B. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten vom 10. Mai 2010 - Postaufgabe 11. Mai 2010 - beantragt X._ dem Bundesgericht, den Entscheid des Verwaltungsgerichts aufzuheben und das Migrationsamt anzuweisen, ihm die Aufenthaltsbewilligung zu verlängern. Das Bundesamt für Migration stellt den Antrag, die Beschwerde abzuweisen. Das Verwaltungsgericht hat auf eine Vernehmlassung verzichtet. Das Migrationsamt und der Regierungsrat haben sich nicht geäussert. C. Der Präsident der II. öffentlich-rechtlichen Abteilung des Bundesgerichts hat der Beschwerde mit Verfügung vom 18. Mai 2010 hinsichtlich der Ausreiseverpflichtung antragsgemäss die aufschiebende Wirkung zuerkannt. 