PDA

View Full Version : استفاده از کنترلهای صفحه نمونه در فرم های جدید!!



mtaboy
شنبه 02 آذر 1387, 13:17 عصر
من یک پروژه وب دارم...که 5-6 صفحه کنترل هاش دقیقا مثل هم هستن فقط لیبلهاش متفاوت هست....
برا همین از یه فرم نمونه استفاده می کنم و سورس اونو تو فرم های جدید کپی میکنم..تا یک شکل در بیان...اما موقع اجرای صفحه جدید از باتن ها یا گرید ویو ایراد میگیره...و وقتی خودم اونارو دوباره می سازم مشکل حل میشه!!!!!!!!!
آیا راهی نیست که من بتونم که از باتن یا گرید ویو صفحه نمونه تو صفحه جدید استفاده کنم؟؟؟؟؟

adonis
شنبه 02 آذر 1387, 21:06 عصر
یه ascx بسازکه چیزهای مشترک رو توش بذاری و در مورد چیزهایی که متفاوته پروپرتی هایی تعریف کن که بشه بیرون اون ascx بهشون مقدار داد یا مقدارشون رو خووند. بعد هر جا این فرم رو خواستی این ascx رو بکش رو صفحه.
در ضمن این ویژوال استودیو خله. وقتی زیادی کنترل ازین ور به اونور کپی پیست میکنی بعضی وقتها قاط می زنه

ennovation
شنبه 02 آذر 1387, 21:39 عصر
سلام
من هم بودم همین کار و میکردم .
استفاده از ascx بهترین و راهتترین کاری که میتونی بکنی
و یک خوبی دیگه هم اینه که اگه یه زمان یه کنترل رو خواستی عوض کنی فقط لازم این کار رو یک بار انجام بدی وبس
فرض کن میخوای رنگ پشت زمینه همه کنترلها رو در پروژه عوض کنی ! چقدر طول میکشه !!
با این کار فقط یک بار تغییرات اعمال میکنی وبس

mtaboy
پنج شنبه 07 آذر 1387, 00:53 صبح
الته من مشکلم رو با فرا خونی کردن روال اون کنترل در CodeBehindصفحه جدید حل کردم....از دوستانی هم که راهنمایی کردن منونم

sara_B
پنج شنبه 07 آذر 1387, 02:36 صبح
ببخشید میشه استفاده از ascx رو توضیح بدین؟
ممنون می شم

alishirazi
پنج شنبه 07 آذر 1387, 03:17 صبح
ascx همونWeb UserControl ها هستن، جای توضیح زیاد داره اما برای شروع بگم یه صفحه کامل که طراحی می کنی و از اون به صورت کنترل اسفاده می کنی و هرجا که خواستی استفاده می کنی، برای شروع برو توی solution یک Web UserControl اضافه کن و طراحی کن هرطور که می خوای.
بعد اون رو در بالای صفحه ای که می خوای توش استفاده کنی register کن:

<%@ Register TagName="UserControl" TagPrefix="MyUserControl" Src="~/WebUserControl.ascx" %> یا هر TagNeme که می خوای بعد تو هرجایی که اضافش کنی ازش استفاده می کنی، به این صورت :

<MyUserControl:UserControl runat="server" ID="MyUserControl1" />

حالا اگه تو کد userControl متغیر public تعریف کردی تو جایی که داری اضافش می کنی می تونی مقدار دهی کنی ( به مثال دقت کن) من یک متغیر public تعریف می کنم به این صورت

public int Age { get; set; } و بعد به صورت زیر مقدار دهی می کنی :


<MyUserControl:UserControl runat="server" ID="MyUserControl1" Age="20" />