I don't know Angular at all, but it would appear that you're not telling it which method to call. You're telling it to call the controller, but not the method on it:
this.http.post('http://localhost:54111/RegisterController', ...
I suspect it should be this instead:
this.http.post('http://localhost:54111/RegisterController/Posthdf', ...
As everybody else has said, ALWAYS use parameterized queries, NEVER use string concatentation to build the SQL statement. Why? What happens if the username is "O'Brian"? Your query breaks and this can be used to destroy your database.
Why on earth are you storing the "repeatPassword"? It's not used for anything beyond verifying the user really did want what was typed to be the password.
Why are you calling .ToString, ... on strings? Sorry, that's a pet peeve of mine.
Oh, and you're storing passwords as plain text. Doing that can cost you a huge chunk of money in fines when you database is breached.