PDA

View Full Version : مقداردهی به متغیرهای یک صفحه دیگر از درون صفحه جاری



bahar_engineer
شنبه 09 آبان 1388, 14:43 عصر
سلام

می شه توی asp.net هم مثل فرم های ویندوزی متغیرهای صفحه دیگه رو از طریق صفحه جاری مقدار دهی کرد؟

من یه صفحه برای اضافه کردن مطالب ساختم که از طریق اون می خوام برای چند گروه مختلف مثل اخبار ، معرفی آثار ، اطلاعیه ها و ... که ساختاری شبیه به هم دارند ، مطلب مورد نظر رو اضافه کنم... به این شکل که بالای صفحه توی یه جدول یه لیبل گذاشتم که می خوام مقدار اون بر اساس لینکی که توی صفحه مدیریتی کلیک می شه ، پر بشه و اون وقت گریدویویی که توی اون صفحه هست بر اساس اون لیبل پر می شه ...

آیا چنین امکانی وجود داره ؟ چون مثل فرم های ویندوزی نتونستم صفحه ای رو تعریف کنم تا به کنترل هاش دسترسی داشته باشم

اگه نه ... چه راهی پیشنهاد می کنین؟
آیا برای صفحاتی که همه ساختاری شبیه به هم دارند و فقط بر اساس یک عنوان محتوای اونها فرق می کنه ، این همه صفحه بسازم جداگانه؟!!!

یعنی راه دیگه ای نداره؟

golagha_program
شنبه 09 آبان 1388, 15:26 عصر
با سلام.

براي دسترسي به متغيرهاي يك صفحه از صفحه ديگر يا بايد property بنويسي يا بايد interface پياده سازي كني.

براي صفحاتي كه ساختار شبيه هم دارند و با تغيير يك محتواي متفاوت نمايش مي دن بايد usercontrol بنويسي كه بر اساس اون متغيير بصورت ديناميك توي صفحه لود كني.

A.S.Roma
شنبه 09 آبان 1388, 16:08 عصر
به این شکل که بالای صفحه توی یه جدول یه لیبل گذاشتم که می خوام مقدار اون بر اساس لینکی که توی صفحه مدیریتی کلیک می شه ، پر بشه و اون وقت گریدویویی که توی اون صفحه هست بر اساس اون لیبل پر می شه ..
اگر منظورتون رو درست متوجه شده باشم . شما می تونید مقدارLabel رو از طریق QueryString بخونید . بعدشم که گرید از رو لیبل مقادیرش رو لود کنه.

bahar_engineer
شنبه 09 آبان 1388, 16:21 عصر
Query string که فکر می کنم فقط از طریق گریدویو قابل استفاده باشه ... یعنی من همیشه اینطوری استفاده می کردم ... یعنی می شه یه لیبل که کاملا توی صفحه مستقله - یعنی توی گریدویو نیست- رو با کوئری استرینگ مقدار دهی کرد؟ اگه ممکنه بیشتر توضیح بدین یعنی مثال بزنید


در مورد یوزر کنترل هم چطور ممکنه مقدار متغیر رو دینامیک تغییر بده؟ یعنی من یک صفحه دارم که توی اون یک لیبل هست... اما چند گروه دارم توی بانکم ... حالا اگه من اون یک صفحه رو یوزرکنترل بذارم چطور بهش بگم که هر بار کدوم از گروه ها باید بالا بیاد ؟ یعنی هر بار مقدار لیبل عوض بشه ؟ اون هم وقتی که توی صفحه مدیریت روی لینک مثلا اخبار کلیک می شه لیبل توی صفحه متنش بشه "اخبار". چطور این کار و بکنم؟

A.S.Roma
شنبه 09 آبان 1388, 21:36 عصر
Query string که فکر می کنم فقط از طریق گریدویو قابل استفاده باشه ... یعنی من همیشه اینطوری استفاده می کردم ... یعنی می شه یه لیبل که کاملا توی صفحه مستقله - یعنی توی گریدویو نیست- رو با کوئری استرینگ مقدار دهی کرد؟ اگه ممکنه بیشتر توضیح بدین یعنی مثال بزنید

QueryString ارتباطی به نوع کنترل ندارد.

myLabel.Text = Request.QueryString["Test"];

iman_ad
یک شنبه 10 آبان 1388, 06:18 صبح
با سلام.

براي دسترسي به متغيرهاي يك صفحه از صفحه ديگر يا بايد property بنويسي يا بايد interface پياده سازي كني.

براي صفحاتي كه ساختار شبيه هم دارند و با تغيير يك محتواي متفاوت نمايش مي دن بايد usercontrol بنويسي كه بر اساس اون متغيير بصورت ديناميك توي صفحه لود كني.
حرف شما کاملا غلط دوست عزیزم در تحت وب نمی شه خصوصیت عمومی یک نمونه از کلاس تو یک کلاس دیگه مقداردهی کرد، برای تبادل اطلاعات بارها تو این فرم بحث شده
http://barnamenevis.org/forum/showthread.php?t=177500
http://barnamenevis.org/forum/showthread.php?t=168113

golagha_program
یک شنبه 10 آبان 1388, 08:52 صبح
پس نظرت راجع به اين چيه اين مقالات رو نگاه كن.
http://www.codeproject.com/KB/user-controls/Page_UserControl.aspx

اين مقاله محشر در مورد usercontrol هاست با كمي تغيير همون چيزي مي شه كه شما مي خواهي.

http://www.codeproject.com/KB/aspnet/EventDrivenUserControl.aspx