Joshua Paul "Josh" Dallas (born December 18, 1981 in Louisville, Kentucky) is an American actor. He is best known for his roles as Prince Charming/David Nolan in the ABC television series Once Upon a Time and Fandral in the Marvel Comics film adaptation Thor.