PDA

View Full Version : سوال مهم درباره profile



mehrdad201
پنج شنبه 19 مهر 1386, 01:05 صبح
با سلام

من در مورد کنترل create user wizard و login در این فروم و از طریق گوگل جستجو های زیادی کردم و تا حدودی باهاشون آشنا شدم.

فهمیدم که میشه اطلاعات اضافی موقع ثبت نام رو در پروفایل یوزر ذخیره کرد. پروفایل رو هم در فایل web.config تعریف می کنیم.

یک نکته تو ذهنم بود و اون اینه که آیا میشه از طریق فیلدهای درون پروفایل گزارشگیری کرد. (البته اینو با توجه به نحوه ذخیره اطلاعات پروفایل در دیتابیس می گم)

مثلا فرض کنید تو پروفایل کاربر اسم کشور - شهر و .... هست. خواستم ببینم راهی هست که ادمین بتونه لیست یوزرهای مربوط به یه کشور رو ببینه.

در حالت عادی ما اطلاعات رو در فبلدهای مختلف ذخیره میکردیم. و موقع بازیابی کوئری رو بر حسب فیلدهای مورد نظر تنظیم می کردیم. حالا میخوام ببینم اگه به کمک پروفایل امکان این کار هست چطوری باید این کار رو انجام بدم.

ممنون از راهنمایی همه دوستان عزیز

سار
پنج شنبه 19 مهر 1386, 09:48 صبح
شدن که میشه ولی نه به اون راحتی که قبلن این کار رو می کردی.
مثلن نوشده :


TimeZone:S:0:2:PreferredLocale:S:2:5:FirstName:S:7 :4:LastName:S:11:5:

و در فیلد بعدی این مقدار هست :


-8en-USامیررشیدی

حالا برای بدست آوردن مقدار TimeZone از کاراکتر(بایت) 0 ، 2 کاراکتر(بایت) رو بخون
برای PreferredLocale از 2 ، 5بایت ، برای FirstName از 7 ، 4 بایت و برای LastName از 11، 5 بایت رو بخون.
یه راه دیگه هم این هست که در #C لیستی از Profile بسازی و تو اون جستجو کنی.

mehrdad201
پنج شنبه 19 مهر 1386, 11:00 صبح
به نظر شما راه دومی که گفتید بهتر نیست ؟!؟!؟!؟!

فکر کنم راه اول دردسرهای زیادی داشته باشه

سار
پنج شنبه 19 مهر 1386, 13:17 عصر
یه راه دیگه هم اینه که برای پروفایل خودت یه Table بسازی.
تو یه پروژه که نیاز به جستجو و زبان داشت این کار رو کردیم.

mehrdad201
پنج شنبه 19 مهر 1386, 15:00 عصر
توضیح میدید در مورد این روش

mp2009
پنج شنبه 19 مهر 1386, 22:51 عصر
این مشکل همه است.
کسی نیست کمک کنه؟

mehrdad201
پنج شنبه 19 مهر 1386, 23:39 عصر
راستش من یه مقدار جستجو کردم.

در مورد سیو کردن اطلاعات پروفایل در موقع ثبت نام این کار امکان پذیره. یعنی همون موقع که ثبت نام تموم میشه ، این امکان هست که پروفایل کاربر رو هم سیو کرد.

در مورد گزارش گیری. تنها فکری که تا الان به ذهن من رسیده اینه که یه ابجکت MembershipUserCollection رو ایجاد کنیم و کلیه یوزرها رو بریزیم توش. بعد تک تک پروفایل های هر یوزر رو بخونیم و کلیه اطلاعات رو بریزیم داخل یه دیتا تیبل.

اما در مورد جداول اضافی هم باید بلافاصله بعد از ثبت نام یه تابع رو فراخوانی کنید تا بیاد اطلاعات مورد نیاز رو در جدول مربوطه وارد کنه. در مورد فیلد رابط هم میشه از یوزرنیم استفاده کرد.

mp2009
جمعه 20 مهر 1386, 14:11 عصر
دوست عزیز میشه بیشتر توضیح بدید؟

mehrdad201
جمعه 20 مهر 1386, 14:44 عصر
شما به من بگو دقیقا چه منظوری رو دنبال می کنید. چه اطلاعاتی رو باید سیو کنید و چگونه باید اطلاعات نمایش داده بشن ؟!؟؟!