آموزش ASP.Net

آموزش ASP.Net - اولین مثال

یک صفحۀ متعارف ASP.net متشکل از چندین server control و همچنین کنترل ها و متن ها / نوشته ها (text) و تصاویر HTML می باشد. داده های حساس صفحه و حالت های (state) مختلف control ها روی صفحه، همگی در فیلدهای پنهانی که context درخواست صفحه (page request) را تعریف می کنند، ذخیره می شوند.

زمان اجرای ASP.NET (runtime)ارتباط میان نمونۀ صفحه (page instance) و وضعیت (state) آن صفحه را کنترل و مدیریت می کند، در واقع یک صفحۀ ASP.NET شئ (object) از کلاس Page است و یا از آن کلاس به ارث گرفته شده است.

همچنین لازم به ذکر است که تمامی کنترل های روی صفحه، اشیایی از کلاس control  (control class)  مربوطه هستند که از کلاس والد (parent) Control به ارث گرفته می شوند. هنگامی که یک صفحه اجرا می شود، نمونه ای (instance) از object page به همراه تمامی control content های آن ایجاد می گردد.

یک صفحۀ ASP.NET همچنین یک فایل سمت سرور (server side file) است که با پسوند.aspx ذخیره می شود. صفحۀ  asp به ذاته ماژولار (modular) بوده و به بخش های زیر تقسیم پذیر می باشد:

  • Page Directives
  • Code Section (بخش کد)
  • Page Layout (طرح کلی صفحه)

 

page directive

Page directiveها در حقیقت محیط (environment) لازمه را برای اجرای صفحه آماده (راه اندازی) می کنند. Page  directive  @ خصیصه های مختص صفحه (page-specific attribute) را تعریف می کند که توسط parser (تجزیه گر) و compiler (کامپایلر / مترجم) صفحۀ ASP.NET مورد استفاده قرار می گیرد. page directive ها نحوۀ پردازش صفحه را مشخص می کنند.

 Page directiveها همچنین امکان وارد (import) کردن فضاهای نام (namespace)، بارگذاری assembly ها و ثبت (رجیستر) control های جدید با اسم های تگ (tag name) سفارشی (custom) و پیشوندهای فضای نام (nameaspace prefix) جدید را فراهم می کند.

 

Code section

 Code section, اداره کنندهای handler ): زیر روال یا subroutine است که پیام خاصی را برای کلاس خاصی از اشیاء پردازش می کند) ویژۀ صفحه و control event هایی به همراه دیگر توابع (functions) مورد نیاز ارائه می دهد. همان طور پیش تر ذکر شد،  asp.net از object model )پایه و اساس ساختاری برای زبان های شئ گرا) پیروی می کند. حال, اشیاء ذکر شده به هنگام رخداد برخی از اتفاقات روی رابط کاربری (user interface)، رویدادهایی (event) را فعال (اجرا) می کنند که از میان آن ها می توان به زمانی اشاره کرد که کاربر روی دکمه کلیک می کند یا مکان نمای موس را جا به جا می سازد. نوع پاسخی که این رویداد ها (event) برمی گردانند در توابع (function) event handler ها برنامه نویسی (کد گذاری) و تعریف شده اند. Event handler ها در واقع یک مجموعه توابع هستند که به control ها مقید یا متصل (bound) می باشند.

این در حقیقت code section هست که تمامی روال یا روتین های event handler و همچنین توابع مورد نیاز برنامه نویس (توسعه دهنده) را فراهم می کند. کد صفحه (page code) ممکن است از پیش ترجمه (کامپایل) شده و در قالب / به صورت یک اسمبلی دودویی (binary assembly) پیاده سازی (deploy)  شود.

 

Page layout  (طرح کلی صفحه)

Page layout  رابط (interface) صفحه را فراهم می کند، همچنین دربردارنده ی server control ها، متن (text)، کدهای درون خطی (درون برنامه ی) یا inline جاوا اسکریپت و تگ های HTML می باشد.

تکه کد (code snippet) زیر که با C# نوشته شده یک نمونه صفحۀ ASP.NET ارائه می دهد و طی آن مفاهیم page directive ها، code section ها و page layout ها را تشریح می کند:

 

<!-- directives -->
<% @Page Language="C#" %>

<!-- code section -->
<script runat="server">

   private void convertoupper(object sender, EventArgs e)
   {
      string str = mytext.Value;
      changed_text.InnerHtml = str.ToUpper();
   }
</script>

<!-- Layout -->
<html>
   <head> 
      <title> Change to Upper Case </title> 
   </head>
   
   <body>
      <h3> Conversion to Upper Case </h3>
      
      <form runat="server">
         <input runat="server" id="mytext" type="text" />
         <input runat="server" id="button1" type="submit" value="Enter..." OnServerClick="convertoupper"/>
         
         <hr />
         <h3> Results: </h3>
         <span runat="server" id="changed_text" />
      </form>
      
   </body>
   
</html>

این فایل را در پوشه اصلی (root directory) سرویس دهندۀ وب (web server) کپی و جای گذاری کنید. به طور معمول دایرکتوری مذکور c:iNETputwwwroot می باشد. فایل را از مرورگر باز کرده و آن را اجرا کنید، خواهید دید که نتیجۀ زیر بدست می آید:

 asp.net first example

استفاده از محیط برنامه نویسی visual studio

حال همان کد (نمونه برنامۀ مثال قبل) را در محیط ویژوال استودیو می نویسیم. بجای تایپ کردن کد می توان control ها را با اشاره گر موس کشید و داخل design view جای گذاری کرد:

asp.net first example 2

Content file به صورت خودکار ایجاد می شود. تنها کاری که باید انجام دهید افزودن روتین Button1_Click  است، که به شرح زیر می باشد:

protected void Button1_Click(object sender, EventArgs e)
{
   string buf = TextBox1.Text;
   changed_text.InnerHtml = buf.ToUpper();
}

کد content file بدین ترتیب می باشد:

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

   <head runat="server">
      <title>
         Untitled Page
      </title>
   </head>
   
   <body>
   
      <form id="form1" runat="server">
         <div>
         
            <asp:TextBox ID="TextBox1" runat="server" style="width:224px">
            </asp:TextBox>
            
            <br />
            <br />
            
            <asp:Button ID="Button1" runat="server" Text="Enter..." style="width:85px" onclick="Button1_Click" />
            <hr />
            
            <h3> Results: </h3>
            <span runat="server" id="changed_text" />
            
         </div>
      </form>
      
   </body>
   
</html>

با راست کلیک روی design view و انتخاب گزینۀ 'View in Browser'  از فهرست گشودنی (pop-up menu)  مثال را اجرا کنید. نتیجۀ زیر تولید می شود:

asp.net first example 3

در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش ASP.Net

Learn ASP.Net

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

سوال شما با موفقیت ثبت شد. برای اینکه بتوانیم به شما اطلاع رسانی کنیم، موارد زیر را وارد کنید:

لطفا چند لحظه منتظر بمانید ...