آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 شنبه  6  خرداد  1396  2017  May  27   Saturday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 فرم ها و کنترل های سرويس دهنده ( بخش سوم )

 مديريت وب

11182

6

3.2

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

فرم ها و  کنترل های سرويس دهنده

فرم ها و کنترل های سرويس دهنده ( بخش سوم )

 آنچه تاکنون گفته شده است :

  • بخش اول : جايگاه فرم ها در برنامه های وب

  • بخش دوم :  بررسی کنترل های فرم HTML

در بخش سوم اين مقاله به بررسی کنترل های سرويس دهنده ASP.NET خواهيم پرداخت .

کنترل های سرويس دهنده ASP.NET
در اين بخش  به بررسی ويژگی ها و نحوه عملکرد هر  يک از کنترل های سرويس دهنده ASP.NET پرداخته و آنان را با کنترل های استفاده شده در فرم های HTML مقايسه می نمائيم .

کنترل <asp:label>
 کنترل فوق يکی از متداولترين کنترل های موجود در ASP.NET  محسوب می گردد . با استفاده از کنترل label می توان متن مورد نظر را برروی صفحات وب ASP.NET  نمايش داد . کنترل فوق همانند هر کنترل معمولی HTML دارای مجموعه ای از خصلت ها بوده که با مقداردهی مناسب آنان می توان رفتار و شکل ظاهری کنترل را متناسب با اهداف مورد نظرمشخص نمود . جدول زير برخی از متداولترين خصلت های کنترل label را نشان می دهد :

خصلت 

عملکرد

Backcolor

رنگ زمينه label را مشخص می نمايد .

ForeColor رنگ رويه label را مشخص می نمايد .
Height  بلندی  Label بر حسب پيکسل را مشخص می نمايد .
ID تعريف يک شناسه منحصر بفرد برای يک Label
Visible

با نسبت دادن مقدار True و False ، نمايش و يا عدم نمايش يک Lable مشخص می گردد .

Width پهنای  کنترل label را مشخص می نمايد.

مثال : به منظور ايجاد يک کنترل label  با حداقل اطلاعات موردنياز می توان صرفا" از خصلت های id و runat استفاده نمود :

<asp:label  id="message1" runat="server" > Test1 </asp:label>

خصلت id ، يک نام منحصربفرد به منظور شناسائی کنترل <label>  را مشخص می نمايد.بدين ترتيب امکان مراجعه به آن از طريق کد ASP.NET فراهم می گردد . خصلت runat = sever به سرويس دهنده اعلام می نمايد که کنترل را پردازش  و کد معادل HTML را به منظور ارسال برای سرويس گيرنده ، توليد نمايد .
در صورتی که قصد داشته باشيم که متن مورد نظر را با يک رنگ خاص نمايش دهيم ، کنترل label  را به صورت زير استفاده خواهيم کرد :

<asp:label  id="message1"   forecolor = "Red"  runat="server" > Test1 </asp:label>

همچنين می توان از خصلت text به منظور مشخص نمودن متن مورد نظر جهت نمايش ، استفاده نمود .در کد زير ، تگ پايان حذف و در مقابل از علامت "/" که نشاندهنده پايان تگ است ، استفاده شده است .

<asp:label  id="message1"   Text = "Test1"  runat="server"  / >

 پيشوند <asp:> ، اعلام می نمايد که کنترل label  از مجموعه کنترل های از قبل ساخته شده  ASP.NET است .

 مثال : نحوه استفاده از کنترل label

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<html dir =rtl>
<head>
<title> Label Test </title>
</head>
<body>
<h1>نحوه استفاده از label </h1>
<br />
ضمن تشکر از
<asp:label id="Message1" runat="server"
  text=" شما "/>
،در مجموعه مقالاتی که در رابطه با کنترل های ASP.NET ارائه می شود،
<asp:label id="Message2" runat="server"
 text="قصد داريم "/>
هر يک از آنان را به صورت جداگانه بررسی نمائيم
</body>
</html>

مرحله دوم :  پس از ذخيره کد فوق در فايلی با نام LabelTest1.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت : 

برای تمامی اهداف و خواسته ها يک کنترل label را می توان با يک کنترل HTML ، جايگزين نمود. تنها تفاوت موجود به اين موضوع برمی گردد که کنترل فوق بر روی سرويس دهنده اجراء می گردد .با مشاهده کد HTML از طريق برنامه مرورگر خود ، اطلاعات زير را مشاهده خواهيم کرد :

<html dir =rtl>
<head>
<title> Label Test </title>
</head>
<body>
<h1>نحوه استفاده از label </h1>
<br />
ضمن تشکر از
<span id="Message1"> شما </span>
،در مجموعه مقالاتی که در رابطه با کنترل های ASP.NET ارائه می شود،
<span id="Message2">قصد داريم </span>
هر يک از آنان را به صورت جداگانه بررسی نمائيم
</body>
</html>

همانگونه که مشاهده می گردد ، کنترل <asp:label> به معادل تگ <span> در HTML ترجمه شده است ( دارای عملکردی مشابه می باشند ) .

نحوه استفاده از خصلت های کنترل در يک برنامه ASP.NET
تا اين مرحله با کنترل Label و نحوه استفاده از آن در يک صفحه وب ، آشنا شديم . در اين رابطه يک سوال باقی است و اين که چگونه می توان  از خصلت های کنترل فوق در کدهای نوشته شده ASP.NET استفاده نمود.بدين منظور می توان در ابتدای HTML  ، کد مورد نياز ASP.NET را اضافه نمود . در ابتدا خصلت text را از ابتدای دو کنترل فوق حذف می نمائيم .

   ...
<asp:label id="Message1" runat="server"
 />
،در مجموعه مقالاتی که در رابطه با کنترل های ASP.NET ارائه می شود،
<asp:label id="Message2" runat="server" />
هر يک از آنان را به صورت جداگانه بررسی نمائيم
 
...

در ادامه ، اسکريپت زير را قبل از کد HTML اضافه می نمائيم .

<script language="vb" runat="server">
Sub Page_Load()
   Message1.Text = "کاربران محترم"
   Message2.Text = "تصميم داريم "
End Sub
</script>
<html>
    ...
</html>

با اعمال تغييرات فوق ، مقداردهی خصلت Text مربوط به کنترل label از طريق کد نوشته شده ASP.NET ، انجام می شود.

در مثال فوق ، با استفاده از روتين Page_Load  که در زمان استقرار صفحه درخواستی در حافظه ، اجراء می گردد ، به خصلت text هر يک از کنترل های Label  دستيابی و مقدار مورد نظر به آنان نسبت داده شده است . ( اختصاص پويای متن مورد نظر به يک کنترل label ) .

Message1.Text = "کاربران محترم "
Message2.Text = "تصميم داريم"
 
...

تمامی کنترل های سرويس دهنده HTML به صورت اشيائی جداگانه ايجاد شده و می توان از طريق کد ASP.NET به آنان دستيابی داشت . به منظور دستيابی به هر يک از خصلت های  يک کنترل سرويس دهنده ، می توان از گرامر زير استفاده کرد :

[ServerControl].[ServerControlAttribute]

 

مثلا" به منظور غير فعال نمودن وضعيت نمايش، می توان خصلت visible را به صورت زير مقداردهی نمود :

Message.Visible="false"

 

کنترل <asp:dropdownlist>
کنترل فوق يکی از بهترين کنترل های موجود به منظور نشان دادن اهميت و ضرورت پردازش يک کنترل بر روی سرويس دهنده می باشد. قبل از بررسی کنترل فوق ، در ابتدا با معادل آن در HTML بيشتر آشنا می شويم . Dropdown listbox ها در HTML با استفاده از تگ <select> و <option> پياده سازی می گردند ، برای هر option از يک تگ شروع و يک تگ پايان <option> ، درون تگ <select> ، استفاده می گردد :

<select  name = "City" >
   <option>
تهران </option>
  <option >
اهواز </option>
   <option>
شيراز
</option>
</select>

به منظور ايجاد يک list control در ASP.NET که عملکردی مشابه کد فوق را داشته باشد ، از کد زير استفاده می شود :

<asp:dropdownlist id="City" runat="server">
   <asp:listitem>
تهران </asp:listitem>
   <asp:listitem>
اهواز </asp:listitem>
   <asp:listitem>
شيراز </asp:listitem>
</asp:dropdownlist>

 کد فوق نسبت به کد معادل HTML ، دارای سه تفاوت اساسی است :

  • جايگزينی تگ <asp:dropdownlist>  با تگ <select>

  • جايگزينی تگ <asp:listitem> با تگ <option>

  • جايگزينی  خصلت Id با name

از لحاظ شکل ظاهری کنترل <asp:dropdownlist> ، مشابه  کنترل dropdown list در HTML  است .

 مثال : نحوه استفاده از کنترل dropdownlist

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<script runat="server" language="vb">
Sub Page_Load()
 if Page.IsPostback then
   Message.Text = "شما شهرستان " + list1.SelectedItem.Value + " را انتخاب نموده ايد "
 end if
End Sub
</script>
<html dir = rtl>
<head><title>Drop Down Example</title></head>
<body>
<asp:label id="Message" runat="server"/> <br />
<form runat="server">
برای مسافرت کدام شهر را انتخاب می نمائيد ؟<br /><br />
<asp:dropdownlist id="list1" runat="server">
<asp:listitem> تهران </asp:listitem>
<asp:listitem> اهواز </asp:listitem>
<asp:listitem>شيراز </asp:listitem>
</asp:dropdownlist><br /><br /><br /><br />
<input type="Submit" Value ="ارسال درخواست" >
</form>
</body>
</html>

مرحله دوم :  پس از ذخيره کد فوق در فايلی با نام DropdownlistTest.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت : 

مرحله سوم : اننتخاب يک گزينه


مرحله چهارم : در صورت مشاهده View|Source در مرورگر ، کد زير نمايش داده می شود .

<<html dir = rtl>
<head>
<title>Drop Down Example</title>
</head>
<body>
<span id="Message">شما شهرستان اهواز را انتخاب نموده ايد </span> <br />
<form name="_ctl0" method="post" action="DropdownlistTest.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE" value="dDwtMTMyNTU5Mzc0Njt0PDtsPGk8MT47PjtsPHQ8cDxwPGw8VG
V4dDs+O2w82LTZhdinINi02YfYsdiz2KrYp9mGICAgINin2YfZiNin2LIgINix2
Kcg2KfZhtiq2K7Yp9ioINmG2YXZiNiv2Ycg2KfZitivIDs+Pjs+Ozs+Oz4+Oz5
nBTPLfX3RX+GXzS7SG4YwAQcC9Q==" />

برای مسافرت کدام شهر را انتخاب می نمائيد ؟<br /><br />
<select name="list1" id="list1">
<option value=" تهران "> تهران </option>
<option selected="selected" value=" اهواز "> اهواز </option>
<option value="شيراز ">شيراز </option>

</select><br /><br /><br /><br />
<input type="Submit" Value ="ارسال درخواست" >
</form>
</body>
</html>

توضيحات :

  • تمامی اطلاعات با فرمت  HTML برای سرويس گيرنده اارسال می گردد.

  • با استفاده از تگ <form> و مقدار دهی خصلت runat به server يک فرم تعريف و به  ASP.NET اعلام می شود که فرم بر روی سرويس دهنده اجراء می گردد . در صورتی که تعريف فوق را با آن چيزی که در مرورگر نمايش داده می شود ، مشاهده می نمائيم ، تفاوت های زيادی را مشاهده خواهيم کرد :

    <form name="_ctl0" method="post" action="DropdownlistTest.aspx" id="_ctl0">

    ASP.NET ، چهار خصلت جديد را ايجاد نموده است . خصلت های name و id اهداف يکسانی را دنبال می نمايند . ( مشخص نمودن انحصاری فرم ) . همانگونه که قبلا" اشاره گرديد فرم های HTML نيازمند يک صفحه به منظور دريافت داده و يک روش به منظور ارسال اطلاعات می باشند. ما هيچکدام از موارد فوق را در کد ASPX .، مشخص ننموده ايم . بنابراين ASP.NET ، آنان را برای ما مشخص نموده است . خصلت action به صفحه يکسانی که ما اجراء نموده ايم ، اشاره داشته و پاسخ ها را برای آن ارسال می نمايد . همچنين به صورت پيش فرض، روش ارسال اطلاعات به صورت POST در نظر گرفته شده است .

  • کنترل های سرويس دهنده ASP.NET داده های موجود بر روی فرم را برای کد ASP.NET ارسال می نمايند . بدين منظور و در جهت دستيابی به آنان از طريق کد ASP.NET ، از روتين زير استفاده شده است :

    <script runat="server" language="vb">
    Sub Page_Load()
     if Page.IsPostback then
       Message.Text = "شما شهرستان " + list1.SelectedItem.Value + " را انتخاب نموده ايد "
     end if
    End Sub
    </script>

    در روتين page_Load ، بررسی لازم در خصوص انتخاب يک آيتم توسط کاربر ، انجام شده و در ادامه يک پيام مناسب به منظور تائيد انتخاب انجام شده ، برای کاربر نمايش داده می شود. در صورتی که تاکنون انتخابی صورت نگرفته باشد ، پيامی در کنترل <label>، نمايش داده نمی شود . اولين خط موجود در روتين ، نشاندهنده اين موضوع است که آيا قبلا" صفحه برای کاربر ارسال شده است ؟ بدين منظور ازشی Page استفاده شده است . شی فوق ، يک رکورد از وضعيت اطلاعاتی يک فرم را که توسط يک کاربر ارسال شده است در IsPostback نگهداری می نمايد . در صورتی که فرم قبلا" نيز ارسال شده باشد ، IsPostBack مقدار true و در غير اين صورت مقدار False را برمی گرداند . کد محصور بين if و end if ، صرفا" در زمانی که فرم مجددا" برای کاربر ارسال شده باشد ، اجراء می گردد. بنابراين اگر اولين مرتبه ای است که کاربر فرم را مشاهده می نمايد ، کد فوق اجراء نخواهد شد .

در بخش چهارم اين مقاله به بررسی ساير کنترل های سرويس دهنده، خواهيم پرداخت .



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382