The Conservative MP was attacked while meeting constituents at a venue in Leigh-on-Sea.
A 25-year-old man has been arrested, and police are not looking for anyone else.
Tory MP Shailesh Vara says Sir David was well liked by politicians from all parties.
The Deputy Prime Minister and MP for Esher and Walton , Dominic Raab, says he's "heartbroken"
He said Sir David was a "formidable campaigner with a big heart"
Foreign secretary Liz Truss described him as a "lovely, lovely man".
Flags are flying at half-mast at Downing Street.