PDA

View Full Version : نمایش اطلاعات کاربر



bitcob589
سه شنبه 04 بهمن 1390, 11:52 صبح
با سلام
در نظر بگیرید یک فرم ثبت نام وجود دارد اگر کاربر روی دکمه ثبت اطلاعات زد اطلاعات در دیتابیس ذخیره شود و اطلاعاتی مربوط به کاربر در دیتابیس ذخیره شده است را به خود کاربر نمایش دهیم به چه صورتی می توان چنین کاری کرد

hamid_shrk
سه شنبه 04 بهمن 1390, 11:59 صبح
میخواید بلافاصله و تو همون صفحه این کار صورت بگیره؟

bitcob589
سه شنبه 04 بهمن 1390, 12:14 عصر
در نظر دارم بلافاصله داخل صفحه دیگر نمایش دهد

hamid_shrk
سه شنبه 04 بهمن 1390, 12:29 عصر
خوب مشکلتون تو نمایشش چیه؟
تو همون صفحه میتونید از multiview استفاده کنید و وقتی ثبت نام کرد ویو رو عوض کنید و اطلاعات کاربر رو نمایش بدید.

bitcob589
سه شنبه 04 بهمن 1390, 12:32 عصر
در نظر دارم اطلاعات داخل صفحه دیگرنمایش دهم و از multiview استفاده نشود مشکل در نوشتن کد است اگر امکان دارد کد را بنویسید

xalerebvar
سه شنبه 04 بهمن 1390, 14:16 عصر
ببینید اگه می خواهید اطلاعات کاربر ثبت نام کرده رو داخل یه صفحه جدید نشون بدید بایستی اطلاعاتی رو به صفحه جدید بفرستید و تو صفحه مقصد اون اطلاعات رو چک کنید که اگر برابر یک مقدار خاص بود مشخصات اون فرد رو براتون نشون بده، حالا برای فرستادن این اطلاعات توی برنامه نویسی وب دو راه عمده داریم:
1- استفاده از Session : سشن رو می تونید ظرفی در نظر بگیرید که اطلاعاتی رو داخلش می ریزید و یه برچسپ براش تعریف می کنید حال توی صفحه ی مقصد میایید مقادیر قرار گرفته شده داخل سشن رو با مقادیر پایگاه داده مقایسه می کنید و اگه اون اطلاعات وجود داشتن مشخصات ذخیره شده در بانک مربوط به اون مقدار مقایسه شده رو به کاربر نشون میدید
بزارید مثال گفته شده رو با یک کد توضییح بدم
طریقه ساختن یک سشن

Session.Add("Session_Name", Value);


Session_Name : اسمی که برای سشن در نظر می گیریم و از طریق این اسم به مقدارش دسترسی پیدا می کنیم
Value : مقداری که داخل سشن بایستی ریخته شود(که برای سئوال شما بایستی ID یا کلید اصلی فرد ثبت نام کرده رو داخل اون بریزیم)
2- استفاده از QueryString:راهی دیگر برای فرستادن داده ها به صفحات مختلف یک پروژه در وب استفاده از QueryString می باشد با استفاده از آن می توان مقادیری را از طریق AddressBar به صفحات دلخواه فرستاد، اما نکته ای که در مورد آن بایستی در نظر گرفت به هیچ وجه فیلدهای حیاتی بانک را از این طریق به صفحات دیگر نفرستید چون امکان لو رفتن اطلاعات زیاد می شود
طریقه فرستادن یک مقدار از طریق QueryString :

Response.Redirect("~/Default.aspx?MessageId=" + Value);


Default.aspx صفحه مقصد ماست که می خواهیم اطلاعات را در آن نشان دهیم
MessageId : نام ID کوئری سترینگ می باشد
Value : مقدار واکشی شده از بانک(یا همان ID فرد جهت نمایش مشخصاتش)
حال بایستی در صفحه مقصد کارهائی برای نمایش مشخصات فرد انجام دهیم
فرض کنید می خواهیم نام و نام خانوادگی کاربر را نشان دهیم(راههای زیادی برای نمایش داده ها در ASP.NET وجود دارد مانند استفاده از کنترل های Data اما ساده ترین را عرض می کنم)

<asp:Label ID="Label1" runat="server" Text="نام:"></asp:Label>
<asp:Label ID="Label2" runat="server" Text="نام خانوادگی:">

کافیست اطلاعات فرستاده شده به این صفحه را با مقادیر قرار گرفته در بانک مقایسه کرده و اطلاعات مربوطه را نشان دهیم
1- واکشی اطلاعات با استفاده از Session
کافیست شرط select را برابر دستور زیر قرار دهید

SELECT Name,Family from User where Id=@Id

در خط زیر هم پارامتر ID را مقدار دهی می کنیم

Cmd1.Parameters.AddWithValue("@Id", Session("Id"));


2- با استفاده از queryString:
کافیست بجای کد بالا کد زیر را بنویسیم

Cmd1.Parameters.AddWithValue("@Id", Convert.ToInt32(Request.QueryString["Id"].ToString()));


و مقادیر واکشی شده را به Label ها نسبت دهیم
موفق باشید

bitcob589
سه شنبه 04 بهمن 1390, 15:18 عصر
در نظر بگیرید در فرم از کاربر یک عکس گرفته می شود وعکس را در یک فولدر روی هاست ریخته می شود و نام عکس در دیتابیس ذخیره می شودآیا عکس هم داخل سشن ریخته می شودبه چه صورتی عکس در داخل سشن ریخته می شود

xalerebvar
سه شنبه 04 بهمن 1390, 15:21 عصر
نمی خواد عکس رو داخل سشن بریزی ، ما ID کاربر رو داخل سشن ریختیم حالا با استفاده از Id کاربر نام عکس مربوط به اون کاربر که داخل همون رکورد ذخیره شده رو هم واکشی کن و تو یه کنترل image نشون بده

bitcob589
سه شنبه 04 بهمن 1390, 15:33 عصر
ID کاربر را چگونه بگیریم و در داخل سشن بریزیم

xalerebvar
سه شنبه 04 بهمن 1390, 15:43 عصر
پست شماره 6 رو یکبار دیگر نگاه کنید.

bitcob589
سه شنبه 04 بهمن 1390, 15:51 عصر
یعنی منظورشما به این صورت ID کاربر را بگیریم

Session.add("id",txtname.text,txtfamily.txt,imageurl.url);

Rohollaes
سه شنبه 04 بهمن 1390, 15:59 عصر
دوست عزیز به نظر من شما باید راه های انتقال مقادیر بین صفحات را مطالعه کنید. دوست عزیزمون در صفحه قبل توضیحات کامل در مورد ارسال و دریافت اطلاعات کاربر رو گفتن. شما فقط آی دی کاربر رو ارسال میکنید به صفحه بعد(query string,session,....)بعد با توجه به آی دی کاربر اطلاعاتشو از دیتابیس فراخوانی میکنیم

bitcob589
سه شنبه 04 بهمن 1390, 16:04 عصر
یک مثال از آی دی گرفتن از کاربر بزنید

Rohollaes
سه شنبه 04 بهمن 1390, 16:13 عصر
نوشتن دستوورش بسته به کاری داره که میخوای انجام بدی . من این دستور رو واسه گرفتن اطلاعات کاربر مورد نظر توسط SP نوشتم که شما میتونی فقط فیلدهای ازم رو بگیری یا با جدول دیگه join کنی


select * from tblUser where [id] =@id