جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
اصول مقدماتي ASP.NET
-(4 Body) 
اصول مقدماتي ASP.NET
Visitor 1131
Category: دنياي فن آوري
قبل از اينکه با تکنولوژي فوق آشنا گرديم ،لازم است نسبت به موارد ذيل به ميزان قابل قبولي شناخت اوليه اي وجود داشته باشد.
?آشنائي با وب ، ،Html و اصول ايجاد صفحات وب
?زبانهاي اسکريپت نظير جاوااسکريپت و يا Vbscript
?اصول اوليه اسکريپت هاي مبتني بر سرويس دهنده

ASP چيست ؟

?ASP يک تکنولوژي مبتني بر سرويس دهنده بوده که امکان اجراي اسکريپت ها ي موجود در يک صفحه وب را از طريق يک سرويس دهنده اينترنت فراهم مي نمايد .
?ASP تکنولوژي متعلق به شرکت ما کروسافت است .
?ASP از کلمات Active Server Page مشتق شده است .
?ASP برنامه اي است که با مديريت IIS اجراء مي گردد.
?يک فايل ASP مشابه فايل Html است .
?محتويات يک فايل ASP شامل : متن ، Html ، XML و اسکريپت است .
?اسکريپت هاي موجود در يک فايل ASP بر روي سرويس دهنده اجراء مي گردنند.
?فايل هاي ASP داراي انشعاب asp مي باشند.
? پس از درخواست فايل هاي ASP توسط کاربران ، در ابتدا محتويات ( اسکريپت ها ) مربوطه بر روي سرويس دهنده اجراء و در ادامه نتايج بصورت تگ هاي Html براي کاربر ارسال خواهد شد.
آشنائي اوليه با ASP کلاسيک مي تواند داراي جنبه هاي مثبتي از بعد فراگيري ASP.NET با شد . +ASP همان ASP.NET است . زمانيکه ما کروسافت ASP.NET را طراحي نمود ،در ابتدا از نام فوق استفاده گرديد .

ASP.NET چيست ؟

ASP نسخه شماره سه ، آخرين نسخه در اين زمينه بوده و ما هرگز شاهد عرضه نسخه شماره چهار محصول فوق نخواهيم بود. ASP.NET نسل جديد ASP است و نمي توان ادعا نمود که ASP.NET نسخه ارتقاء يافته ASP کلاسيک است .
ASP.NET يک نمونه و نگرش جديد به برنامه ها و اسکريپت هاي مبتني بر سرويس دهنده مي باشد. ASP.NET عضوي از فريمورک جديد دات نت شرکت ما کروسافت بوده و سه سال زمان صرف نوشتن آن شده است . ASP.NET با نسخه ASPکلاسيک کاملا" سازگار نيست .

دات نت فريمورک

دات نت فريمورک، زير ساخت پلات فورم جديد دات نت است . فريمورک فوق ، يک محيط عمومي براي ايجاد ، بکارگيري و اجراي برنامه هاي تحت وب و سرويس هاي وب را فراهم مي نمايد . دات نت فريمورک شامل دو بخش اساسي است :
?Common language runtime
?Common class libraries نظير : ADO.NET,ASP.NET و Windows Forms
دات نت فريمورک ، با الهام از امکانات دو بخش فوق ، قادر به ارائه سرويس ها و خدمات متفاوت به مجموعه وسيعي از سيستم هاي کامپيوتري است . دات نت فريمورک از زبانهاي متعددي حمايت مي نمايد . C++,C#,VB,Jscript نمونه هائي در اين زمينه مي باشند.

تفاوت هاي ASP کلاسيک و ASP.NET

?ASP.NET زبان هاي متعددي را حمايت مي نمايد .
?ASP.NET مجموعه گسترده اي از کنترل هاي جديد و عناصر مبتني بر XML را ارائه مي دهد.
?ASP.NET قابليت اعتبارسنجي کاربران با توانائي بالا را دارا است .
?افزايش کارائي سيستم از طريق اجراي کدهاي کمپايل شده ( نه تفسير شده ! )
?کدهاي ASP.NET بطور کامل با نسخه ASP کلاسيک سازگار نمي باشند.
برخي از ويژگي هاي جديد در ASP.NET :
? تعداد بالاي زبانهاي برنامه نويسي حمايت شده
? کنترل هاي قابل برنامه نويسي
? برنامه نويسي مبتني بر Event
? استفاده از عناصر مبتني بر Xml
? اعتبار سنجي کاربران با استفاده از Account و قوانين
? افزايش کارائي با توجه به کمپايل نمودن کدها
? پيکربندي و بکارگيري آسان
ASP.NET داراي مجموعه اي وسيع از کنترل هاي HTML است . اکثر عناصر موجود بر روي يک صفحه وب را مي توان بعنوان يک شي قابل کنترل ASP.NET در نظر گرفت .رفتار اشياء فوق را مي توان با استفاده از اسکريپت ها ، کنترل و هدايت نمود. ASP.NET همچنين داراي مجموعه اي از کنترل هاي ورودي شي گراء نظير : ListBox هاي قابل برنامه نويسي و کنترل هاي بررسي صحت د اده هاي ورودي است . با استفاده از يک کنترل جديد (Data Grid) عمليات ذخيره سازي ،مرتب سازي وساير عمليات مورد نياز در رابطه با بانک هاي اطلاعاتي را پشتيباني و حمايت مي نمايد. تمامي اشياء ASP.NET بر روي يک صفحه وب مي توانند باعث بروز يک "رويداد" گردند. در چنين مواردي کدهاي نوشته شده در ASP.NET ، مجري سياست برخورد با رويداد بوجود آمده خواهند بود . عناصر استفاده شده در ASP.NET عموما" متکي بر XML مي باشند . نظير کنترل Adrotator که از Xml براي ذخيره ساري اطلاعات و تنظيمات مربوط به آگهي ها استفاده مي نمايد. ASP.NET ، اعتبارسنجي کاربران متکي بر فرم را با استفاده از تکنولوژي هائي نظير : مديريت کوکي، تغيير مسير کاربراني که هويت آنها تاييد نشده و ... انجام مي دهد. به محض درخواست يک صفحه ASP.NET ،صفحه مورد نظر ترجمه ( کمپايل ) و يک نسخه از آن در حافظه باقي خواهد ماند (Cached ) . بديهي است که در اين حالت افزايش چشمگيري را از بعد کارآئي خواهيم داشت .ASP.NET با نسخه قبلي خود ( ASP کلاسيک ) کاملا" سازگار نيست .بنابراين در برخي از کدهاي نوشته شده با ASP کلاسيک مي بايست تغييراتي را اعمال نمود. فايل هاي ASP.NET داراي انشعاب aspx مي باشند. بدين ترتيب مي توان بر روي يک سرويس دهنده فايل هاي ASP.NET ( فايل هاي با انشعاب aspx) و فايل هاي ASP کلاسيک ( فايل هاي با انشعاب asp ) بطور همزمان استفاده کرد.

نصب ASP.NET

براي نصب ASP.NET به امکانات زير نياز خواهد بود :
?يکدستگاه کامپيوتر با قابليت اجراي ويندوز بر روي آن .
?نصب يکي از نسخه هاي ويندوز 2000 و يا XP
?نصب برنامه IIS
?قبل از نصب ASP.NET مي بايست تمامي Service Pack هاي مربوط به محصولات نرم افزاري که قصد نصب آنها را داشته باشيم ،آماده نمود.
?در صورتيکه قبلا" نسخه Beta مربوط به ASP.NET بر روي سيستم نصب شده باشد ،لازم است که در ابتدا نسخه فوق از روي سيستم برداشته گردد.
?نصب .NET ، قبل از نصب مي بايست کيت کامل محصول فوق را تهيه نمود. کيت فوق حدودا" 130 مگابايت بوده و مي توان آن را از سايت ماکروسافت و يا ساير سايت ها نظير : www.asp.net تهيه کرد .

صفحات وب ASP.NET

يک صفحه ASP.NET ، در اولين نگاه ،مشابه يک صفحه Html است . براي آشنائي با صفحات ASP.NET ، يک صفحه ساده Html را ايجاد که مسئوليت آن نمايش يک پيام خاص در خروجي باشد. (Hello.html)

مثال :  يک صفحه ساده Html

<html>
<body bgcolor="Blue">
<center>
<h2>Hello HTML Tags </h2>
</center>
</body>
</html>


در صورتيکه بخواهيم فايل فوق را به يک صفحه ASP.NET تبديل نمائيم ،کافي است محتويات فايل فوق را در فايل جداگانه اي قرار داده و فايل فوق را با نام دلخواه و انشعاب .aspx ذخيره نمائيم .در اين حالت محتويات صفحه ASP.NET بصورت زير خواهد بود :

مثال :  يک صفحه ساده ASP.NET

<html>
<body bgcolor="Blue">
<center>
<h2>Hello ASP.NET </h2>
</center>
</body>
</html>


يک صفحه ASP.NET از برخي جهات داراي عملکردي مشابه صفحات HTML است . صفحات HTML داراي انشعاب Html بوده و زمانيکه مرورگر درخواست يک صفحه Html را از سرويس دهنده داشته باشد ،سرويس دهنده بدون انجام هيچگونه اصلاحات و يا عمليات خاصي، صرفا" صفحه مورد نظر را براي مرورگر ارسال خواهد نمود. يک صفحه ASP.NET داراي انشعاب .aspx بوده و زمانيکه مرورگر درخواست يک صفحه ASP.NET را از سرويس دهنده داشته باشد ،سرويس دهنده دستورالعمل هاي اجرائي موجود در صفحه را پردازش و در ادمه نتايج بدست آمده ، براي سرويس گيرنده ( مرورگر) ارسال خواهند شد.
در مثالي که ارائه گرديد ما شاهد حضور و استفاده از دستورالعمل هاي اجرائي در فايل ASP.NET نبوديم . در ادامه با افزودن دستورالعمل هاي اجرائي به بررسي تفاوت هاي موجود بين صفحات ايستاي Html و صفحات پوياي ASP خواهيم پرداخت .

ASP کلاسيک

برنامه نويسان وب چندين سال است که از ASP کلاسيک استفاده مي نمايند .ASP.NET با ASP کلاسيک کاملا" سازگار نبوده و اغلب صفحات ASP کلاسيک ، با اعمال تغييراتي اندک قادر به استفاده بر روي بستر دات نت و مشابه صفحات ASP.NET خواهند بود.

صفحات پويا در ASP کلاسيک

بمنظور بررسي توانائي صفحات ASP در جهت نمايش اطلاعات پويا ،مثال زير را در نظر بگيريد.

مثال :  يک صفحه ساده ASPکلاسيک بمنظور نمايش اطلاعات پويا

<html>
<body bgcolor="yellow">
<center>
<h2>Hello ASP Classic!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>


کدهاي محصور بين <% %> توسط سرويس دهنده اجراء مي گردند. Response.Write ، امکان نوشتن اطلاعات در خروجي را فراهم مي نمايد . ( )NOW تابعي است که زمان و تاريخ سرويس دهنده را برمي گرداند.

صفحات پويا در ASP.NET

کدهاي زير همان مثال قبلي با نگرش ASP.NET است

مثال :  يک صفحه ساده ASP.NETبمنظور نمايش اطلاعات پويا

<html>
<body bgcolor="yellow">
<center>
<h2>Hello ASP.NET!</h2>
<p> <%Response.Write(now())%></p>
</center>
</body>
</html>


در دو مثال ارائه شده ،اختلاف بين صفحات ASP.NET و ASP کلاسيک مشهود نيست . بمنظور بررسي تفاوت هاي موجود، بين ASP کلاسيک و ASP.NET مثال زير را در نظر بگيريد.

مثال :  يک صفحه ساده ASPکلاسيک بمنظور نمايش اطلاعات پويا

<html>
<body bgcolor="yellow">
<center>
<h2>Hello ASP.NET!</h2>
<p> <%Response.Write(now())%></p>
</center>
</body>
</html>


کدهاي نوشته شده ( به رنگ قرمز که اصطلاحا" Render Block ) ناميده مي شوند،در ابتدا بر روي سرويس دهنده اجراء و در ادامه نتايج براي سرويس گيرنده ( مرورگر ) ارسال مي گردد. مسئله فوق مي تواند نشاندهنده يکي از محدوديت ASP کلاسيک باشد. در اين نوع صفحات Render Block ها مي بايست در محلي قرار بگيرند که مي خواهيم در خروجي نمايش داده شوند. با استفاده از ASP کلاسيک نمي توان کدهاي اجرائي را از تگ هاي Html جدا نمود. بديهي است در چنين مواردي خوانائي و پشتيباني صفحات به شدت زير سوال خواهد رفت .

کنترل هاي سرويس دهنده ASP.NET

ASP.NET بنوعي مسئله " کدهاي نوشته شده به سبک اسپاگتي ! " را با بکارگيري کنترل هاي سرويس دهنده برطرف نموده است . کنترل هاي سرويس دهنده ، تگ هائي هستند که توسط سرويس دهنده قابل درک و فهم مي باشند. سه نوع کنترل هاي سرويس دهنده وجود دارد :
?کنترل هاي Html سرويس دهنده ( تگ هاي سنتي Html)
?کنترل هاي وب سرويس دهنده ( تگ هاي جديد ASP.NET )
?کنترل هاي اعتبارستجي سرويس دهنده ( تگ هاي مسئول اعتبار سنجي داده هاي ورودي)

کنترل هاي Html سرويس دهنده

اين نوع کنترل ها ، همان تگ هاي استاندارد Html بوده با تفاوت که مي بايست از خصلت : Runat=Server بهمراه تگ مربوط به آنان ، نيز استفاده گردد . مثال زير نحوه جداسازي کد هاي اجرائي از تگ هاي Html ،با استفاده از کنترل هاي Html سرويس دهنده را نمايش مي دهد .

مثال :  يک صفحه ساده ASP.NETو استفاده از HTML ServerControls

<%
TimeStamp.InnerText=now()
%>
<html>
<body bgcolor="yellow">
<center>
<h2>Hello HTML Server Controls </h2>
<p id="TimeStamp" runat="server"></p>
</center>
</body>
</html>


خصلت Runat=server بهمراه تگ <P> باعث شده که تگ فوق ، بعنوان يک کنترل سرويس دهنده ايفاي وظيفه نمايد. در اين حالت مجموعه کدهاي اجرائي به محلي خارج از محدوده تگ هاي Html منتقل شده اند.

کنترل هاي وب سرويس دهنده

اين نوع کنترل ها مشابه کنترل هاي Html با پيچيدگي بيشتري مي باشند. اين نوع کنترل ها هرگز بعنوان يک بخش وابسته و بصورت يک خصلت در کنار تگ هاي Html استفاده نخواهند گرديد ، بلکه براي حضور خود داراي ماهيتي کاملا" مستقل هستند. از اين نوع کنترل ها در اغلب برنامه هائي که سياست ارتباط دوسويه با کاربران دنبال مي گردد ، استفاده مي شود. فرم هاي ورودي ، نمونه ئي مناسب از جايگاه استفاده از اين نوع کنترل ها مي باشند. کنترل هاي فوق همواره با تگي شروع خواهند شد که ابتداي آن مزين به واژه : < asp:> است . برنامه زير نحوه استفاده از کنترل هاي وب سرويس دهنده را نشان مي دهد.

مثال :  يک صفحه ساده ASP.NETو استفاده از Web ServerControls

<%
TimeStamp.Text=now()
%>
<html>
<body bgcolor="yellow">
<center>
<h2>Hello Web Server Controls </h2>
<p><asp:label id="TimeStamp" runat="server" /></p>
</center>
</body>
</html>


در مثال فوق از يکي از کنترل هاي وب سرويس دهنده ، با نام label استفاده شده است . کنترل کننده فوق يکي از ده ها کنترل از قبل تعريف شده در اين زمينه بوده که براي ASP.NET قابل فهم است .

کنترل هاي اعتبارستجي سرويس دهنده

با استفاده و بکارگيري کنترل هاي تعيين صحت داده ها ، مي توان عمليات مربوط به بررسي صحت داده هاي ورودي توسط کنترل هاي ورودي سرويس دهنده نظير : TextBox ، انجام داد. در چنين مواردي زماني که داده وارد شده متناسب با سياست و قانون تعريف شده از قبل نباشد ، مي توان پيام مناسبي را نمايش داد. بصورت پيش فرض عمليات موسوم به بررسي صحت داده ها در يک صفحه (Page Validation) همزمان با فشردن يک Button نظير : کنترل هاي ImageButton و يا LinkButton صورت مي پذيرد.

رويدادها در دات نت

در صفحات ASP.NET مي توان مجموعه کدهائي را نوشت که در صورت بروز يک شرط خاص و يا تحقق يک شرايط ويژه ( وقفه ) فعال و خدمات تعريف شده خود را ارائه نمايند. در مثال هاي قبل ، با کد هاي زير آشنا شديم .

مثال :  يک صفحه ساده ASP.NETو استفاده از Web ServerControls

<% TimeStamp.Text=now()%>
<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3Schools!</h2>
<asp:label id="TimeStamp" runat="server" />

</center>
</body>
</html>


چگونه مي توان اطمينان پيدا نمود که Render Block ( کدهاي قرمز رنگ ) اجراء خواهد شد. بمنظور اطمينان از اجراي کدهاي مورد نظر در زمان مورد نظر ، مي بايست يک Event Handler را اضافه نمائيم .

مثال :  يک صفحه ساده ASP.NETو استفاده از Web ServerControls  و رويداد Page_Load

<script runat="server">
Sub Page_Load(Sender As Object,E As EventArgs)
TimeStamp.Text=now()
End Sub
</script>
<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3Schools!</h2>
<asp:label id="TimeStamp" runat="server" />
</center>
</body>
</html>


Event Handler ، روتيني است که مسئول اجراي کدهائي به ازاي تحقق يک رويداد است .رويداد Page_Load يکي از ده ها Event قابل فهم توسط ASP.NET است .

مرجع :

• کنترل هاي Html Server : تگ هاي مبتني بر HTML که توسط سرويس دهنده قابل فهم مي باشند . تمام کنترل هاي فوق مي بايست بهمراه تگ مربوطه که داراي خصلت runat=server است ، استفاده گردند .

HTML ServerControl

Description

HtmlAnchor

Controls an <a> HTML element

HtmlButton

Controls a <button> HTML element

HtmlForm

Controls a <form> HTML element

HtmlGeneric

Controls other HTML element not specified by a specific HTML server control, like <body>, <div>, <span>, etc.

HtmlImage

Controls an <image> HTML element

HtmlInputButton

Controls <input type="button">, <input type="submit">, and <input type="reset"> HTML elements

HtmlInputCheckBox

Controls an <input type="checkbox"> HTML element

HtmlInputFile

Controls an <input type="file"> HTML element

HtmlInputHidden

Controls an <input type="hidden"> HTML element

HtmlInputImage

Controls an <input type="image"> HTML element

HtmlInputRadioButton

Controls an <input type="radio"> HTML element

HtmlInputText

Controls <input type="text"> and <input type="password"> HTML elements

HtmlSelect

Controls a <select> HTML element

HtmlTable

Controls a <table> HTML element

HtmlTableCell

Controls <td>and <th> HTML elements

HtmlTableRow

Controls a <tr> HTML element

HtmlTextArea

Controls a <textarea> HTML element


• کنترل هاي Web Server : تگ هاي خاصي از ASP.NET بوده که توسط سرويس دهنده قابل فهم مي باشند . گرامر بکارگيري کنترل هاي فوق بصورت زير است :
<asp:control_name id="some_id" runat="server" />

Web Server Control

Description

AdRotator

Displays a sequence of images

Button

Displays a push button

Calendar

Displays a calendar

CheckBox

Displays a check box

CheckBoxList

Creates a multi-selection check box group

DataGrid

Displays fields of a data source in a grid

DataList

Displays items from a data source by using templates

DropDownList

Creates a drop-down list

HyperLink

Creates a hyperlink

Image

Displays an image

ImageButton

Displays a clickable image

Label

Displays static content which is programmable (lets you apply styles to its content)

LinkButton

Creates a hyperlink button

ListBox

Creates a single- or multi-selection drop-down list

Literal

Displays static content which is programmable (does not let you apply styles to its content)

Panel

Provides a container for other controls

PlaceHolder

Reserves space for controls added by code

RadioButton

Creates a radio button

RadioButtonList

Creates a group of radio buttons

Repeater

 

Table

Creates a table

TableCell

Creates a table cell

TableRow

Creates a table row

TextBox

Creates a text box

Xml

Displays an XML file or the results of an XSL transform


• کنترل هاي Validation Server : از کنترل هاي فوق بمنظور بررسي صحت داده هاي ورودي توسط کاربر استفاده مي گردد . گرامر بکارگيري کنترل هاي فوق بصورت زير است :
<asp:control_name id="some_id" runat="server" />

Validation Server Control

Description

CompareValidator

Compares the value of one input control to the value of another input control or to a fixed value

CustomValidator

Allows you to write a method to handle the validation of the value entered

RangeValidator

Checks that the user enters a value that falls between two values

RegularExpressionValidator

Ensures that the value of an input control matches a specified pattern

RequiredFieldValidator

Makes an input control a required field

ValidationSummary

Displays a report of all validation errors occurred in a Web page

Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image