Мне кажется, что вы хотели бы использовать удаленную проверку, тогда вы бы отобразили скрытую ссылку на странице. Вы получаете это почти бесплатно с помощью MVC, а затем выполняете сценарий на стороне клиента, чтобы показать / скрыть ссылку.
ViewModel:
public CreateUserVM
{
[Required]
[Remote("UsernameExists","YourController")]
string Username { get; set; }
}
Вид:
@model CreateUserVM
@Html.LabelFor(model => model.Username, "Enter User Name:")
@Html.EditorFor(model => model.Username)
Контроллер
public JsonResult UsernameExists(CreateUserVM user)
{
//logic to check if user name exists
}