بخش کار با صفحات ASP.Net > بررسی مدل های کد نویسی در
صفحات ASP.Net
بررسی مدل های کد نویسی در صفحات ASP.Net :
در این بخش قصد داریم تا شما را با انواع مدل های کد نویسی در صفحات ASP.Net آشنا سازیم
.
صفحات ASP.Net به طور کلی از 2 بخش یا اجزا تشکیل شده اند :
- اجزای تصویری مثل متن های ساده ، تصاویر ، تگ ها و المنت های HTML ، کنترل های سرور
ASP.Net و امثال اینها .
- قطعه کدهای برنامه نویسی مثل مدیریت کننده رویدادها ، تابع ها و سایر کدها .
به طور کلی برنامه نویسی ASP.Net دو مدل را برای مدیریت اجزای تصویری و کدها را در
یک صفحه وب ارائه می دهد :
- مدل فایل تک صفحه : در این مدل کدها و اجزای تصویری هر دو در
یک فایل aspx و در کنار هم قرار دارند .
- مدل کد پشت پرده ( فایل جدا برای کد ) : در این حالت اجزای
تصویری و المنت های وب در فایل اصلی صفحه یعنی فایل aspx قرار داده شده و کدهای برنامه
نویسی در یک فایل جداگانه و در پشت پرده صفحه اصلی در یک فایل با پسوند aspx.cs یا
aspx.vb نوشته می شوند . به این فایل در اصطلاح فایل کد پشت صفحه می گویند .
هر دو مدل اشاره شده دارای عملکرد و خروجی یکسانی بوده و شما می توانید هر کدام را
بنا به نیاز و یا سلیقه خود برای طراحی صفحه به کار ببرید . در هر دو مدل کدها و کنترل
های یکسانی استفاده می شود .
در ادامه به توضیح کاملتر و مثال های عملی برای هر دو روش خواهیم پرداخت .
مدل صفحه تک فایل :
همانطور که اشاره کردیم ، در مدل تک فایل کلیه اجزای تصویری ، المنت های وب و کدهای
برنامه نویسی در یک فایل تکی aspx قرار دارند .
کدهای برنامه نویسی در این روش در بلوک هایی با تگ < script > که مقدار خاصیت
Runat آن برابر با مقدار " server " تعیین شده است ، قرار می گیرند . وجود این خاصیت
با مقدار اشاره شده باعث می شود تا این اسکریپت ها و کدهای آن توسط سرور ASP.Net پردازش
شوند .
کد زیر ، کد یک صفحه تک فایل ASP.Net را نشان می دهد . کد مثال شامل یک دکمه فرمان
Button و یک کنترل Label است . قسمتی که با رنگ سبز مشخص شده یک مدیریت کننده رویداد
است که کد لازم را برای عملکرد صفحه در هنگام کلیک بر روی دکمه فرمان تعیین می کند
.
<%@ Page Language="C#" %>
<script runat="server">
void Button1_Click(Object sender, EventArgs e)
{ Label1.Text = "Clicked at " + DateTime.Now.ToString();
}
</script>
<html>
<head>
<title>Single-File Page Model</title>
</head>
<body>
<form id="Form1" runat="server">
<div>
<asp:Label id="Label1" runat="server"
Text="Label"> </asp:Label>
<asp:Button id="Button1" runat="server"
onclick="Button1_Click" Text="Button">
</asp:Button>
</div>
</form>
</body>
</html>
|
تگ < script > می تواند به هر میزان که لازم داشته باشید ، کدهای مورد نیاز صفحه
را در خود جای دهد . کدهای قرار داده شده می تواند شامل مدیریت کننده رویدادها برای
کنترل های روی صفحه ( همانند ارائه شده در مثال ) ، متدها ، خواص و یا هر گونه کدی
که به صورت نرمال در صفحات وب به کار می برید ، باشد .
نکته مهمی که در به کار بردن روش فایل تک صفحه برای کد نویسی وجود دارد ، این است که
در برنامه نویسی NET. شما برای اضافه کردن namespace ها به صفحه از عبارت using استفاده
می کنید . اما در حالت فایل تک صفحه این امکان وجود ندارد و برای وارد نمودن namesapce
ها ، باید از یک عبارت import @ یا یک رفرنس به فایل DLL ای که namespace در آن قرار
دارد ، استفاده کنید .
مدل فایل جدا برای کد ( کد پشت پرده ) :
در مدل فایل جدا برای کد ( فایل کد پشت پرده ) عناصر وب و اجزای تصویری صفحه همه در
فایل اصلی aspx قرار گرفته و کدهای برنامه نویسی در یک فایل جداگانه قرار می گیرند
.
پسوند فایل کد بنا بر زبان برنامه نویسی که از آن استفاده می کنید ، متفاوت خواهد بود
. برای مثال اگر نام فایل اصلی صفحه Sample.aspx باشد ، نام فایل کد آن برای زبان VB
نام Sample.aspx.vb و برای زبان #C نام Sample.aspx.cs می باشد .
کد مثال قبل را برای حالت فایل کد جدا بازنویسی کرده ایم . در این حالت اجزای تصویری
و المنت های وب را در فایل اصلی صفحه یعنی Sample.aspx قرار داده و قسمت کد برنامه
به فایل کد یعنی فایل Sample.aspx.cs انتقال یافته است .
<%@ page language="C#" codefile="SamplePage.aspx.cs" inherits="SamplePage"
autoeventwireup="true" %>
<html>
<head id="Head1" runat="server">
<title>Code-Behind Page Model</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server"
Text="Label">
</asp:Label>
<br />
<asp:Button ID="Button1" runat="server"
OnClick="Button1_Click" Text="Button"></asp:Button>
</div>
</form>
</body>
</html>
|
دو تفاوت عمده بین کد صفحه تک فایل و صفحه با فایل کد جدا وجود دارد . در مدل صفحه
با فایل کد جدا ، تگ اسکریپت < script > با خاصیت " Runat = " server وجود ندارد
( در عوض صفحه می تواند به تعداد مورد نیاز تگ < script > برای قرار دادن کدهای
کلاینت ساید در صفحه داشته باشد ) .
تفاوت دوم این است که اشاره گر Page @ در ابتدای صفحه در حالت فایل جدا برای کد ، دارای
یک خاصیت ویژه است که به نام و آدرس فایل کد صفحه اشاره می کند . این خاصیت صفحه aspx
را به صفحه کد پشت صفحه آن پیوند می زند . همانطور که قبلا گفتیم نام این فایل برای
مثال می تواند Sample.aspx.vb یا Sample.aspx.cs باشد .
در مثال فوق خاصیتی که نام فایل کد پشت پرده را تعیین می کند ، خاصیت CodeFile است
. اما در برنامه های کاربردی وب ( Web Application Projects ) این خاصیت CodeBehind
است .
کد زیر نیز کد فایل جدا برای کدهای برنامه نویسی صفحه که شامل همان رویداد click و
مدیریت کننده رویداد آن که در مثال قبل در درون خود صفحه aspx تعریف شده بود ، می باشد
.
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class SamplePage : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Clicked at " + DateTime.Now.ToString();
}
}
|
انتخاب مدل کدنویسی برای صفحه ( تک فایل یا فایل جدا برای کد ) :
هر دو مدل فایل تک صفحه و فایل جدا برای کد به صورت کاملا یکسان عمل کرده و دارای خروجی
مشابهی هستند . در هنگام اجرا نیز به یک روش اجرا شده و تفاوت کیفی بین آنها وجود ندارد
.
بنابراین انتخاب مدل کد صفحه به فاکتورهایی دیگری به غیر از اینها بستگی دارد . به
اینکه شما چگونه می خواهید کدهای خود را در صفحه سازماندهی کرده و یا اینکه مهم است
کدها در یک بخش جدا باشند و یا خیر .
در بخش زیر به معرفی مزایا و معایب استفاده از هر روش می پردازیم :
مزایای فایل های تک صفحه :
به طور کلی مدل فایل تک صفحه برای حالت های برنامه نویسی خوب است که صفحه شامل مدیریت
کننده رویدادهای کنترل های موجود بر روی صفحه است و نه چیز دیگر .
مزایای فایل های تک صفحه عبارتند از :
- برای صفحاتی که کد برنامه نویسی چندانی ندارند ، استفاده از مدل تک فایل بهتر است .
زیرا هم کد صفحه کاهش یافته و مطالعه و تغییر یک فایل تکی ساده تر و سریعتر از دو فایل
است .
- صفحاتی که به صورت تک فایل طراحی می شوند برای انتقال بین رسانه ها و آپلود بر روی
سایت ساده تر هستند ، چون فقط یک فایل دارند .
- به دلیل عدم وجود وابستگی بین فایل اصلی و فایل کد در حالت صفحه تک فایل ، تغییر نام
فایل تک صفحه در زمانی که از ویرایشگری به جز ویژوال استودیو استفاده می کنید ، ساده
تر است . ( در حالت فایل جدا برای کد ، هنگام تغییر نام فایل اصلی aspx ، برنامه ویژوال
استودیو نام فایل کد را نیز به صورت اتوماتیک عوض می کند ) .
مزایای صفحات با فایل جدا برای کد :
صفحات با فایل جدا برای کد برای طراحی برنامه های وب و صفحه هایی که دارای کدهای برنامه
نویسی زیاد هستند ، مناسب می باشند .
مزایای صفحات با فایل جدا برای کد عبارتند از :
- در صفحات با فایل جدا برای کد ، اجزای تصویری و المنت های وب به صورت مرتب و جدا از
کدهای برنامه نویسی قرار گرفته و ساختار مناسب تری دارند . همچنین این امکان فراهم
می شود که طراح وب به طراحی صفحه اصلی پرداخته و همزمان کدنویس مشغول نوشتن کدهای لازم
در فایل کد باشد .
- کدهای برنامه نویسی و کدهای پشت صفحه به طراحان وب و کاربران عادی صفحه که دانش برنامه
نویسی ندارند ، نمایش داده نمی شوند .
- کد صفحه می تواند برای چندین فایل و صفحه مورد استفاده قرار بگیرد .
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :