PDA

View Full Version : فرستادن id رکورد انتخاب شده به یوزر کنترل بعدی



rezaei manesh
شنبه 08 مهر 1385, 14:37 عصر
سلام
من یک صفحه دارم با یک دکمه که وقتی روش کلیک میشه یک یوزر کنترل رو به یک پنل اضافه می کنه حالا می خوام وقتی کاربر یکی از رکورد های گریدی که روی یوزرکنترل من هست رو کلیک می کنه و بعد دکمه مربوط رو که زد می خوام یک استرینگ رو که شامل نام و کد رکورد انتخابی هست رو به یک یوزرکنترل دیگه که لود می شه بفرستم
مشکل من اینه که قبل از اینکه من بتونم این استرینگمو اماده کنم یوزر کنترل جدید اضافه می شه
چون اول صفحه اصلی و بغد یوزر کنترل اولی پست بک می شه
من شبیه اینو داشتم اما در اون مورد دیگه قرار نبود من id رکورد انتخابی از گرید رو به یوزر جدید ببرم
و با توجه به کلیدی که کلیک شده فقط نام رو که از تو همون صفحه اصلی می تونم پیدا کنم به یوزر جدید می برم

pegasos
یک شنبه 09 مهر 1385, 11:54 صبح
با درود.
برای این کار بی نهایت راه وجود دارد[راه های رسیدن به خدا].
ولی ساده ترین راهی که به ذهنم می رسه به شما می گم. اگه عمری بود سر راهای دیگرش بعدا سرو کله می زنیم.
اگر اطلاعات از نظر امنیت برنامه برات اهمیت نداره می تونی از QueryString برای اطلاع به کنترل بعدی استفاده کنی.
یعنی وقتی کاربر بروی گرید شما کلیک می کنه ،توی رویداد اون گرید یک Redirect داشته باشی به همین صفحه و اطلاعاتی که می خواهی رودو بدل کنی توی متن redirect مورد نظرت بنویسی
و دوباره که Page_load اجرا شد.کلید QueryString مورد نظر را چک کنی. اگه وجود داشت که کنترل دومی رو لود کن.اگه وجود نداشت که کار طبق معمول گذشته با همون کنترل اولی ادامه پیدا می کنه.

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

rezaei manesh
دوشنبه 10 مهر 1385, 18:28 عصر
نمی شه که
چون اصلا در redirect اون pageLoad دوباره اجرا نمی شه؟ و ادرس صفحه فعلی من همان ادرس صفحه اصلی است (چون از یوز کنترل استفاده کردم)

لطفا روش های دیگه رو بگین خیلی عجله دارم

venus_zohreh
سه شنبه 11 مهر 1385, 11:57 صبح
چرا از session استفاده نمی کنید ؟
اگر IDتون فقط یه عدد باشه ، این کار خیلی ساده و راحت و کارا است !

rezaei manesh
سه شنبه 11 مهر 1385, 12:09 عصر
Id من عدد هست در ضمن من از session هم استفاده می کنم اما مشکل اینکه که قبل از این که رویداد کلیک رو بخونه یوزر جدید اضافه می شه و اگه redirectکنم که فرم لود صفحه اصلی اجرا نمی شه

pegasos
سه شنبه 11 مهر 1385, 15:56 عصر
با درود.
دوست عزیز لطفا بیشتر توضیح بده.
مشکل شما لود کنترل جدید و پاس دادن متغیر به آن است ؟
یا اینکه هنوز ایونت یوزر کنترل فعلی را نمی تونی کنترل کنی ؟
اگه کد صفحه اصلی رو اینجا قرار بدی به نظر موضوع واضح تر می شه..

rezaei manesh
پنج شنبه 13 مهر 1385, 10:58 صبح
اینم یه نمونه پروژه که به یوزر دومی می ره اما اطلاعات یوزر اولی رو نمی تونه ببره
اگه کسی تونست لطفا کاملش کنه
در ضمن این با vb2003هستش

rezaei manesh
شنبه 15 مهر 1385, 08:22 صبح
آقا تورو خدا یکی جواب بده؟

pegasos
شنبه 15 مهر 1385, 12:43 عصر
بادرود.
سلام دوست گرامی .
ببخشید که من دیر به دیر آن لاین می شوم.

من کد شما را مطالعه کردم و یک مقدار دخل و تصرف در کد انجام داده ام و برای شما گذاشته ام.
به نظرم اهداف شما را بر آورد خواهد کرد.

ببخشید اگر کد ها نامرتب است به خاطر اینکه من وی بی بلد نیستم .

شاید با دیدن این کد چند تا ابهام برایت به وجود بیاید که من آماده پاسخگویی هستم

به امید موفقیت.

rezaei manesh
یک شنبه 16 مهر 1385, 18:24 عصر
سلام
اقا من امشب برم اونو تست کنم آخه ایجا 2005 دارم خونه با 2003 کار می کنم بعد نتیجه رو به شما میگم
فقط شما ظاهر فقط از یک پنل استفاده می کنید من با روش قبلی که این کار رو می کردم وقتی که چند تا یوزر که add می شد پیغام ویو استیت میده نمی تونه مقادیر یوزر قبلی رو ریست کنه حالا برم روش شما رو هم تست کنم شاید اون مشکل من هم حل بشه
با تشکرات بسیار زیاد

rezaei manesh
دوشنبه 17 مهر 1385, 10:05 صبح
آقا مشکل من حل شد
تنها یک مشکل برای یکی از یوزرکنترل هام پیش اومده که چون من باید یک رشته رو به یوزر بعدی ببرم و چون این رشته یکم طولانی هستش url اون صفحه خیلی طولانی می شه که صورت خوشی نداره نمی شه یکاری کرد که مقادیر این کویری تو آدرس تاثیر نذار یا نشون داده نشه
باز هم از کمک شما متشکرم.

nazaninam
دوشنبه 17 مهر 1385, 13:19 عصر
http://barnamenevis.org/forum/showpost.php?p=273356
اینو ببین

pegasos
دوشنبه 17 مهر 1385, 13:25 عصر
با درود.
اگر مقداری می خواهی جابه جا کنی خیلی کم است می توانی از Session هم استفاده کنی.
ولی در اصل باید از معماری BasePage و BaseModule به وصیله Interface استفاده کنی.
که برای این پروژه خیلی کار زیادی است.

در ضمن در مورد راه حلی که دوستمان پیشنهاد کرده اند :
شاید در این جا کاربرد نداشته باشد برای اینکه هر دفعه فقط یک کنترل فعال است.
و نمی شود از پراپرتی کنترل غیر فعال استفاده کرد !
به امید موفقیت.