No mapping exists from object type System.Web.UI.WebControls.TextBox to a known managed provider native type
You are passing txtPassword
which is an object of TextBox, thus you are getting exception.
Problem is in line
SqlParameter password = new SqlParameter("@Password", txtPassword);
So change your code to
SqlParameter password = new SqlParameter("@Password", txtPassword.Text);