بخش کار با صفحات ASP.Net     >     بررسی مدل های کد نویسی در صفحات ASP.Net

بررسی مدل های کد نویسی در صفحات ASP.Net :

در این بخش قصد داریم تا شما را با انواع مدل های کد نویسی در صفحات ASP.Net آشنا سازیم .
صفحات ASP.Net به طور کلی از 2 بخش یا اجزا تشکیل شده اند :

  1. اجزای تصویری مثل متن های ساده ، تصاویر ، تگ ها و المنت های HTML ، کنترل های سرور ASP.Net و امثال اینها .
  2. قطعه کدهای برنامه نویسی مثل مدیریت کننده رویدادها ، تابع ها و سایر کدها .

به طور کلی برنامه نویسی ASP.Net دو مدل را برای مدیریت اجزای تصویری و کدها را در یک صفحه وب ارائه می دهد :

  1. مدل فایل تک صفحه : در این مدل کدها و اجزای تصویری هر دو در یک فایل aspx و در کنار هم قرار دارند .
  2. مدل کد پشت پرده ( فایل جدا برای کد ) : در این حالت اجزای تصویری و المنت های وب در فایل اصلی صفحه یعنی فایل aspx قرار داده شده و کدهای برنامه نویسی در یک فایل جداگانه و در پشت پرده صفحه اصلی در یک فایل با پسوند aspx.cs یا aspx.vb نوشته می شوند . به این فایل در اصطلاح فایل کد پشت صفحه می گویند .

هر دو مدل اشاره شده دارای عملکرد و خروجی یکسانی بوده و شما می توانید هر کدام را بنا به نیاز و یا سلیقه خود برای طراحی صفحه به کار ببرید . در هر دو مدل کدها و کنترل های یکسانی استفاده می شود .
در ادامه به توضیح کاملتر و مثال های عملی برای هر دو روش خواهیم پرداخت .

مدل صفحه تک فایل :

همانطور که اشاره کردیم ، در مدل تک فایل کلیه اجزای تصویری ، المنت های وب و کدهای برنامه نویسی در یک فایل تکی aspx قرار دارند .
کدهای برنامه نویسی در این روش در بلوک هایی با تگ < script > که مقدار خاصیت Runat آن برابر با مقدار " server " تعیین شده است ، قرار می گیرند . وجود این خاصیت با مقدار اشاره شده باعث می شود تا این اسکریپت ها و کدهای آن توسط سرور ASP.Net پردازش شوند .
کد زیر ، کد یک صفحه تک فایل ASP.Net را نشان می دهد . کد مثال شامل یک دکمه فرمان Button و یک کنترل Label است . قسمتی که با رنگ سبز مشخص شده یک مدیریت کننده رویداد است که کد لازم را برای عملکرد صفحه در هنگام کلیک بر روی دکمه فرمان تعیین می کند .

ASP.Net نمونه کد یک صفحه تک فایل
<%@ 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 انتقال یافته است .

ASP.Net نمونه کد یک صفحه با فایل جدا برای کد
<%@ 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 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1