با سلام
دو تا user control دارم، که اولین user control در صفحه اصلی باز زدن دکمه نمایش کاربران، تعداد کاربران را از جدول users نمایش میدهد که شامل نام و نام خانوادگی و... است و یک دکمه جزییات کاربران که در اولین user control قرار دارد. حالا قرار است با زدن دکمه جزییات کاربران به user control دوم منتقل شود که یوزر کنترل دوم اطلاعاتش را از جدول detail user می گیرد که هر کاربر هم شامل تعدادی اطلاعات است که در جدول detail user ثبت میشود که این تعداد هم باید در یوزر کنترل دوم نمایش داده شود.
اطلاعات منحصربفردی که در جدول user دارم یک user id است و دوم managerCode است که مربوط به userid هایی است که به این کد اختصاص می یابد مثلا کد مدیر یک 22 است و هر کاربری که مدیر یک آن را ثبت کند کد 22 متعلق به آن کاربر میشود. و اطلاعات منحصربفرد در جدول detail user یک userid است که از جدول user منتقل میشود به همراه managerCode آن
سوالم این است که چگونه می توانم از user control اول، که اطلاعات را از جدول user نشان میدهد، یک session از userid آن بسازم که بتوانم در یوزر کنترل دوم که از جدول detail user استفاده می کند اطلاعات و تعداد جزییات مربوط به هر کاربر را نمایش دهم.
سپاسگذارم راهنمایی می کنید.
نیازی به ساخت سشن نیست
هر موقع روی کلیدی در UserControl اول یا همان نمایش جزئیات کلیک شد id را به کد ارسال کنید و usercontrol دوم را نمایش دهید
یک راهنمایی می فرمایید که از چه دستوری باید استفاده کنم روش های مختلفی رو از قبیل ساخت delegte یا event و یا ایجاد set و get برای property در یوزرکنترل اول را بررسی کردم اما به نتیجه نرسیدم که چطور از userId که در یوزرکنترل اول است در دومی استفاده کنم که بتوانم از طریق dataset و propertyها مربوطه اطلاعات را نشان دهم
سپاسگذارم
این لینک رو ببینید
جناب مدائنی لینک شما و دیگر لینک ها رو بررسی کردم اما متاسفانه موفق به این انتقال نشدم که بتوانم userId که در user control اول منتقل می شود از صفخه اصلی را دوباره بتوانم استفاده کنم حتی برای property که برای lable که userId نمایش می دهد بصورت set و get نوشتم
public string prop_userId { ;get{this.lblUserId} set{lblUserId.Text = value;} }
ویا این کد هم نوشتم
public string prop_userId { ;set{lblUseID.Text = value} } public string Lable getUserId{ this.lblUserId }
و باید این userId رو بگیرم در تابع getData در dataset بدم تا تفکیک هر کاربر مشخص شود
که همین این کارها در user control اول انجام میشه
سپاسگذارم.
میتونید کد کاربر رو در سشن قرار دهید و در USERcONTROL دوم بگیرید و عملیات را انجام دهید
کد کاربر بصورت object در سشن قرار میگیرد و باید بصورت int تبدیل کنم این تبدیل چگونه انجام میشود؟
سپاسگذارم
convert.toInt استفاده کنید
کاری که فرمودین را انجام دادم اما قبول نکرد من کد و پیغام خطا رو میذارم جناب مدائنی عزیر
این کد در user control اول در رویداد دکمه نمایش جزییات نوشته شده و زمانی که کلیک میشود چیزی از user control دوم نشان نمی دهد
int uid ; int.TryParse(Session["userId"].ToString(), out uid); ASP.manager_usecont_detailforuser_ascx deus; ds_UserProgressTableAdapters.table_Residental_PayAndExtraTableAdapter c = new ds_UserProgressTableAdapters.table_Residental_PayAndExtraTableAdapter(); ds_UserProgress.table_Residental_PayAndExtraDataTable dtc = c.SelectUserId(Convert.ToInt32(uid)); for (int i = 0; i < dtc.Rows.Count; i++) { deus = new ASP.manager_usecont_detailforuser_ascx(); PlaceHolder1.Controls.Add(deus); deus.prop_ExtraNote = dtc.Rows[i]["date"].ToString(); }
متعیر deusمربوط به user control دوم می شود و اینکه در قسمت متغییر dtc خط قرمزی زیر c.selectUserId کشیده شده است و پیفام زیر را نشان می دهد
int Convert.ToInt32(int value) Return The specified 32-bit signed integer; no actual conversion is Performed cannot implicitly convert 'object' to 'ds_UserProgress.table_Residental_PayAndExtraDataTable' An explicit conversion exists (are you missing a cast?)
متاسفانه من از کدهاتون سر در نمیارم
int.TryParse(Session["userId"].ToString(), out uid);
کد بالا بی استفاده است و چه استفاده ای کردید ؟
//بخش از کدی که در صفحه اصلی بازدن دکمه نمایش کاربران منجر به نمایش یوزرکنترل اول میشود و ساخت سشن مربوطه
Session.Add("userid",dt.Rows[i]["userid"]; showuser.prop_userid=session["userid"].ToSteing();
حالا دکمه نمایش جزییات کاربران در یوزرکنترل اول قرار دارد که باز زدن آن باید نسبت به userid که از صفحه اصلی به یوزرکنترل اول منتقل شده تعداد همان userid مربوطه را در یوزرکنترل دوم نمایش دهد یعنی اگر userid عدد 24 است بازدن دکمه جزییات کاربران هر چقدر userid با عدد 24 ثبت شده است را در یوزرکنترل دوم نمایش دهد.
در کدی که فرمودید که چه استفاده ای کردم به این دلیل استفاده کردم چون این سشن بصورت object است و. باید به int تبدیل میشد که بتوانم در stored proecdure که در dataset برای userid ایجاد کردم استفاده کنم اما متاسفانه قبول نمی کرد حتی از convert.toInt هم استفاده کردم
سپاس
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)