Ваш вопрос немного неясен, но я думаю, что вы спрашиваете, почему существует объект данных ненулевого профиля для пользователя, для которого вы еще не сохранили данные?
Эта статья , возможно, поможет вам разобраться. Некоторые из соответствующих битов:
Профиль пользователя - это коллекция
значения, которые во время выполнения ASP.NET 2.0
группы как открытые поля
динамически генерируемый класс. Класс
происходит от системы, предоставленной
класс и расширен с
добавление нескольких новых членов.
класс не должен быть отмечен как
Сериализуемый, однако его содержимое
сохраняется на носителе как
индивидуальные свойства. Хранение
происходит для каждого пользователя и является
сохраняется до администратора
удаляет его.
и далее вниз:
Когда приложение запускается и страница
ASP.NET отображается динамически
создает объект профиля, который содержит
правильно введенные данные и присваивает
текущие настройки для зарегистрированного пользователя
к свойствам, определенным в данных
модель. Объект профиля добавлен в
текущий объект HttpContext и
сделать доступными для страниц через
Свойство профиля. Предполагая, что
модель профиля была определена для
сохранить список ссылок в виде коллекции,
следующий фрагмент кода показывает, как
получить список избранных ссылок
которые созданы данным пользователем:
...
Этот код принимает свойство Links в
объект профиля, который ссылается на
Тип коллекции. Когда страница
загружены, ссылки и другие свойства
инициализированы, чтобы содержать наиболее
недавно сохраненные значения; когда страница
выгружается их текущее содержимое
сохраняется на постоянном носителе.
Если вам необходимо отследить, устанавливал ли пользователь когда-либо ранее данные профиля, вы можете использовать функцию FindProfilesByUserName , чтобы проверить, существует ли профиль, прежде чем войти в него.