بررسی Directiveها در صفحات وب ASP.Net

Directives صفحات ASP.Net، نقش مهمی در پردازش صفحات وب ایفا می کنند. در این مقاله این دستورات را معرفی می کنیم و توضیح می دهیم که چه زمانی باید از آنها استفاده کنیم. از آنجا که این مقاله با مفاهیم اولیه شروع می شود، برا ی افراد مبتدی نیز مناسب است.

بررسی Directiveها در صفحات وب ASP.Net

معرفی Directive ها

تنظیمات و ویژگی های صفحه به وسیله Directive ها تعریف می شود و در واقع، این Directive ها هستند که تصمیم می گیرند صفحه چگونه پردازش شود. اگر این directiveها در سطح صفحه تعریف نشده باشند، تنظیمات از فایل web.config یا machine.config ارث بری می شوند.

در ادامه با انواع Directive ها آشنا می شویم:

Assembly

Assembly برای وارد کردن آدرس مرجع (refrence) مربوط به فایل Assembly، استفاده می شود. کد زیر، نحوه نگارش آن را در سطح صفحه نشان می دهد. Assembly Directive صفات (attribute) زیر را دارد.

- Name

- Src

برای مثال:

<%@ Assembly Name="assemblyname" Src="SourceofAssembly.dll"%>  

Implements

این Directive، برای مشخص کردن اینکه رابط کاربری پیاده سازی شده است، استفاده می شود.

صفت آن interface است.

مثال:

<%@ Implements Interface="InterfaceName"%> 

Import

یک فضای نام (namespace) را به طور صریح، به صفحه یا کنترل کاربر (user control) اضافه می کند. و صفت namespace را دارد.

مثال:

<%@ Import CodeFile="~/Default.aspx.cs" ClassName="" Inherits="" Language="C#"%> 

MasterType

زمانی که MasterPage از طریق Master property قابل دسترسی باشد، یک ارجاع قوی به صفحه Masterpage می سازد. صفات آن به شکل زیر است:

- TypeName

- VirtualPath 

<%@MasterType TypeName="Name"  VirtualPath="virtualPathofFile"%> 

OutPutCache

این Directive، مربوط به تنظیمات Caching صفحه است که نحوه Caching را تعریف می کند.

صفات آن به شکل زیر است:

- Duration

- Location

- ServerAndClient 

- Shared

- VaryByControl

- VaryByCustom

- VaryByHeader

- VaryByParam 

- VaryByContentEncoding

- CacheProfile

- NoStore

- SqlDependency

- ProviderName

مثال:

<%@OutPutCache CacheProfile="ProFileName" Duration="defineduration" SqlDependency="definedependency" %> 

Page

این Directive، پرکاربردترین Directive است که تنظیمات کلی صفحه را تعریف می کند.

- Async

- AsyncTimeOut

- AspCompat

- AutoEventWireup

- Buffer

- ClassName

- ClientIDMode

- ClientTarget

- CodeBehind

- CodeFile

- CodeFileBaseClass

- CodePage

- CompilationMode

- CompilerOptions

- ContentType

- Culture

- Debug

- Description

- EnableSessionState

- EnableTheming

- EnableViewState

- EnableViewStateMac

- ErrorPage

- Explicit

- Inherits

- Language

- LCID

- LinePragmas

- MaintainScrollPositionOnPostback

- MasterPageFile

- MetaDescription

- MetaKeywords

- ResponseEncoding

- SmartNavigation

- Src

- Strict

- StyleSheetTheme

- TargetSchema

- Theme

- Title

- Trace

- TraceMode

- Transaction

- UICulture

- ValidateRequest

- ViewStateEncryptionMode

- ViewStateMode

- WarningLevel

مثال:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

PreviousPageType

ارجاعی به صفحه قبل تعریف می کند و به ویژگی های صفحه فرزند، دسترسی دارد. صفات آن به شکل زیر است:

- TypeName

- VirtualPath 

مثال:

<%@PreviousPageType TypeName="TyepOfFile" VirtualPath="PathOfTheFile"%>

Reference

نشان می دهد که کنترل کاربر (user control) دیگری یا فایل Page Source و یا فایل دلخواهی در یک مسیر مجازی قرار گرفته است که باید  به صورت داینامیک کامپایل شود و به فایل ASP.Net جاری مانند صفحه وب، کنترل کاربر و یا Master page ای که این Directive در آن تعریف شده، لینک شود. صفات Refrence به شکل زیر است:

- Control

- PageVirtual

- Path

مثال:

<%@Reference Control="UrlOfControl" Page="PageUrl" VirtualPath="VirtualpathOfFile"%>  

Register

کاربر و کنترل های سفارشی یک صفحه را ثبت می کند. صفات زیر را شامل می شود:

- Assembly

- Namespace

- Src

- TagName

- TagPrefix

مثال:

<%@Register Assembly="assemblyName" Namespace="NameSpaceFile" Src="SourceFileUrl" TagName="TagName" TagPrefix="Prefix"%>

Master

برای تنظیمات Master Page استفاده می شود. صفات آن به شکل زیر است:

- AutoEventWireup

- CodeFile 

- CompilationMode

- CompilerOptions

- Debug

- Description

- EnableTheming

- EnableViewState

- Explicit

- Inherits

- Language

- LinePragmas

- MasterPageFile

- Src

- Strict

- WarningLevel

مثال:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> 

Control

برای تنظیمات کنترل کاربر (user control) به کار می رود. صفات قابل استفاده آن به شکل زیر است:

- AutoEventWireup

- ClassName

- ClientIDMode

- CodeBehind

- CodeFile

- CodeFileBaseClass

- CompilationMode

- CompilerOptions

- Debug

- Description

- EnableTheming

- EnableViewState

- Explicit

- Inherits

- Language

- LinePragmas

- Src

- Strict

- TargetSchema

- WarningLevel

مثال:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %> 

با مثال هایی که ذکر شد، با Page Directive و اهمیت آنها آشنا شدیم.