PDA

View Full Version : کلاس نظر سنجی



merychobi
یک شنبه 11 آذر 1386, 11:40 صبح
سلام
می خواهم یک سیستم نظر سنجی درست کنم در نوشتن کدها مشکل ندارم مشکل اینجاست که می خواهم این سیستم به صورت یک کلاس باشد وزمانی من آن را خواستم ودر هر صفحه ای بتوان از این سیستم استفاده کرد برای این کار نمی دونم باید چه کار کنم چون اگه مٍٍثلا در داخل کلاس pollcontrol را اضافه کنم وکد ها را نیز بنویسم ودر داخل صفحه مورد نظر از این کلاس استفاده کنم کنترل را نمایش نمی دهد یا حداقل اینکه من بلد نیستم چه طور نمایش دهم لطفا راهنمایی کنید .
همچنین این کار می خواهم در رابطه با کنترل gridviewانجام دهم یعنی تمام کارها با grid view را در داخل یک کلاس نوشته بعد در هر صفحه ای که خواستم از آن استفاده کنم
دقیقا مثل mamboمی خواستم ببینم اصلا چنین کاری عملی است یا نه یک روش کلی می خواهم

mahdi_farhani
یک شنبه 11 آذر 1386, 13:25 عصر
بهترین روشی که به نظر من میرسه استفاده از UserControl و همچنین PlaceHolder برای درج UserControl در زمان اجرا می باشد .

rtech
یک شنبه 11 آذر 1386, 13:52 عصر
http://barnamenevis.org/forum/showthread.php?t=66318

merychobi
دوشنبه 12 آذر 1386, 08:40 صبح
میشه در مورد نوشتن usercontrol توضیح بیشتری بدید.

merychobi
دوشنبه 12 آذر 1386, 11:09 صبح
نحوه نوشتن usercontrol را متوجه شدم ولی نمی دونم چه طور باید با یک placeholder ارتباط برقرار کند لطفا یک مثال بزنید.

miladr
دوشنبه 12 آذر 1386, 12:18 عصر
PlaceHolder ابزاری است که اگر بخواهید کنترل ها یتان را به صورت Dynamic بچینید می توانید از آن استفاده کنید، به عبارتی می توانید چیدمان صفحه تان را با آن انجام دهید.

این کنترل از namespace : System.Web.UI.WebControls می باشد.

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

فرض کنید شما می خواهید جستجویی را برای صفحه وبتان طراحی کنید و نمیدانید که نتیجه جستجو چند سطر است ،‌ بنابراین برایتان بهتر است که به صورت Run Time ، سطرهای جدولتان را ایجاد کنید.

حتی می توانید Label ها و یا دیگر کنترهایی که به صورت استاتیک نیز تعریف می شوند را در این محفظه ها قرار دهید.

برای تعریف این کنترل در صفحات aspx می توانید از کد زیر استفاده نمایید:


(زبان VB)

<%@ Page Language="VB" AutoEventWireup="True" %>

<html>

<head>

<script runat="server">

Sub Page_Load(Sender As Object, e As EventArgs)

Dim myButton As HtmlButton = New HtmlButton()

myButton.InnerText = "Button 1"
PlaceHolder1.Controls.Add(myButton)

myButton = New HtmlButton()
myButton.InnerText = "Button 2"
PlaceHolder1.Controls.Add(myButton)


End Sub

</script>

</head>

<body>
<form runat="server">
<h3>PlaceHolder Example</h3>

<asp:PlaceHolder id="PlaceHolder1"
runat="server"/>
</form>
</body>
</html>





(C#)

<%@ Page Language="C#" AutoEventWireup="True" %>

<html>
<head>

<script runat="server">

void Page_Load(Object sender, EventArgs e)
{
HtmlButton myButton = new HtmlButton();

myButton.InnerText = "Button 1";
PlaceHolder1.Controls.Add(myButton);

myButton = new HtmlButton();
myButton.InnerText = "Button 2";
PlaceHolder1.Controls.Add(myButton);

}

</script>

</head>

<body>
<form runat="server">
<h3>PlaceHolder Example</h3>

<asp:PlaceHolder id="PlaceHolder1"
runat="server"/>
</form>
</body>
</html>




توضیح کد :
با استفاده از کد بالا شما 2 تا دکمه ایجاد و در PlaceHolder قرار دارید.
توجه داشته باشید که برای افزودن کنترل به PlaceHolder از دستور :


PlaceHolder1.Controls.Add(ControlName);


استفاده کرده ایم.

یکی از بدردبخور ترین بخش های این کنترل ایجاد Template است. که خیلی کارآمد است.


منبع : MSDN
)از یه سایت دیگه برداشت کردم باید منبع بگم؟

merychobi
دوشنبه 12 آذر 1386, 16:21 عصر
ببخشید من هنوز یه مشکل دارم واون اینکه زمانی که یک web user control نوشتم چه طور آن را به placeholder ربط دهم این کد را نوشتم ولی به pageخطا می ده به نظر شما مشکل از کجاست


WebControl myusercontrol = Page.LoadControl("WebUserControl.ascx");
PlaceHolder2.Controls.Add(myusercontrol);

miladr
دوشنبه 12 آذر 1386, 16:49 عصر
لطف کنید هر وقت مشکل با پیغام خطا دارین بگین چه خطایی که بشه راه حل داد

merychobi
سه شنبه 13 آذر 1386, 08:45 صبح
بهترین روشی که به نظر من میرسه استفاده از UserControl و همچنین PlaceHolder برای درج UserControl در زمان اجرا می باشد .
لطفا اگر ممکنه به این سوال جواب بدید ببخشید من هنوز یه مشکل دارم واون اینکه زمانی که یک web user control نوشتم چه طور آن را به placeholder ربط دهم

mahdi_farhani
سه شنبه 13 آذر 1386, 14:57 عصر
کد رو که دوستمون توضیح دادن درست است ف مشکلت کجاست

merychobi
چهارشنبه 14 آذر 1386, 09:35 صبح
منظورتون کدوم کد اگه منظورتون کد اتصال یک کنترل به یک place holder است بله ولی چه جوری یک نمونه از web user control را در صفحه ایجاد کنم .این قسمت مشکل است .اگر آن را بکشم فقط می توانم در یک مکان قرار دهم ولی من می خواهم تحت شرایط خواص آن در یک placeholder مخصوص نمایش داده شود.مثلا یک زمان در بالا وزمانی دیگر درسمت راست صفحه

merychobi
جمعه 16 آذر 1386, 22:29 عصر
چرا کسی جواب نمیده

miladr
جمعه 16 آذر 1386, 22:31 عصر
من دارم سوالت رو میخونم
اما متوجه نمیشم

mahdi_farhani
جمعه 16 آذر 1386, 23:28 عصر
خوب عزیزم تو دیتابیس نگه داری کن ... یعنی امروز اگر خواستی بالا نشون بدی کنترل رو داخل دیتابیس بالا ست کن ، فردا می خواهی سمت راست بزاریش برو ویرایش کن و کد سمت چپ را قرار بده ، بعد تو لود صفحه بش بگو اگر کد 1 بود بزار بالا ، اگر 2 بود بزار چپ و ......

merychobi
شنبه 17 آذر 1386, 15:48 عصر
خوب عزیزم تو دیتابیس نگه داری کن ... یعنی امروز اگر خواستی بالا نشون بدی کنترل رو داخل دیتابیس بالا ست کن ، فردا می خواهی سمت راست بزاریش برو ویرایش کن و کد سمت چپ را قرار بده ، بعد تو لود صفحه بش بگو اگر کد 1 بود بزار بالا ، اگر 2 بود بزار چپ و ......

بله حرف شما درست ولی مشکل اینکه چه طور به وسیله کد نویسی یک نمونه از web user control را در صفحه قرار دهم وبه یک place holder ربط دهم. یعنی مشکل همان ست کردن است


(??????????????????????????)placeholder.control.ad d

mahdi_farhani
شنبه 17 آذر 1386, 22:22 عصر
******************* بدون شرح ***********************


Control myUc;
myUc=LoadControl("~\\webUserControl.ascx");
PlaceHolder1.Controls.Add(myUc);