Генерировать CompanyRef достаточно просто. Есть много статей и т. Д., Которые охватывают объединение, скажем, автономера или счетчика со строкой. Трудность, с которой я столкнулся при вашем подходе, заключается в том, что вы намерены позволить пользователям возиться с рефери и придумывать свои собственные. Для чего?
[РЕДАКТИРОВАТЬ - Следить за комментарием]
Поле комментариев не позволяло достаточному количеству символов полностью ответить на ваш комментарий (и я все еще привыкаю к соглашениям, действующим здесь ....)
Вы можете использовать AJAX для вызова веб-службы и возврата доступных в настоящее время значений, а затем использовать javascript для обновления поля. Проблема в том, что, как только пользователь решил, что он ему нравится, он может перестать быть доступным, когда он передается обратно в базу данных. Это означает, что вам нужно будет сделать одну окончательную проверку, которая может привести к тому, что пользователь получит сообщение о том, что он не может получить доступное ему значение, когда он начал процесс. Только вы знаете вероятность этого. Это будет зависеть от количества одновременно работающих пользователей.
Я написал статью о вызове веб-сервисов и т. Д. С использованием jQuery, которая должна дать вам отправную точку для части AJAX: http://www.mikesdotnetting.com/Article/104/Many-ways-to-communicate-with-your-database-using-jQuery-AJAX-and-ASP.NET