![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
Alfmaster |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 20.9.2008 Репутация: нет Всего: нет |
Создаем пользователя. На первом шаге заполняем информацию, которая необходима для поставщика Memberdhip и сохраняем эту информацию в автоматически созданную таблицу в нашей бд. На втором шаге запрашиваем упользователя дополнительную информацию. Вопрос: как следует сохранить эту информацию и как связать ее с созданным пользователем?
|
|||
|
||||
Idsa |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Alfmaster, для этого есть профили (Profiles). Если не устраивает то, что стандартный провайдер сохраняет информацию в не нормализованном виде, можно загуглить провайдер, который исправляет этот косяк (не помню, как называется). А если у Вас вдруг проснется нелюбовь к профилям (как, например, у меня), всегда можно создать свою табличку в базе, связать ее через FK с aspnet_Users.UserId (в случае использования Membership) и написать к ней/ним (не всегда удается отделаться одной таблицей) CRUD-обертку с полным контролем над происходящим (а не как в случае с профилями). Обычно я так и делаю. Однако можно дополнить этот подход автоматизмом, присущим профилям (если не ошибаюсь, они умеют автоматически считываться и сохраняться): для этого нужно написать не очень сложный HttpModule.
Не обращайте внимание на последнее предложение: в большинстве случаев это излишний хардкор. Да и вообще, не обращайте внимание: 4 часа утра, я после дедлайна ![]() PashaPash, я ничего не напутал? А, может, зря я так профили не люблю? ![]() |
|||
|
||||
Alfmaster |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 20.9.2008 Репутация: нет Всего: нет |
Спасибо за такой объемный и полезный ответ! Не каждый способен на такое в 4 часа! Только еще интересно, что такое CRUD-обертка?
|
|||
|
||||
Idsa |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Alfmaster, CRUD - Create, Read, Update, Delete.
|
|||
|
||||
PashaPash |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 7 Всего: 49 |
Idsa, да, все правильно. Если свойства простые - то в profile их. Если сложные, и по из значениям придется выбирать/группировать пользователей - то в отдельную таблицу.
У профилей есть замечательная фишка - поддержка анонимных пользователей, с переносом данных при регистрации. Например, можно позволить пользователю накидать товаров в корзину, сохранить ее до следующего визита, когда он определится с покупками. Или запомнить настройки "не прятать порно в результатах поиска", как делает гугл. |
|||
|
||||
Idsa |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
||||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |