شروع کار با Asp.NET :: تازه کار ها بخوانند (قسمت اول)
قبل از شروع این مبحث لطفا مقاله زیر را مطالعه کنید :
یادگیری Asp.NET را از کجا و چگونه شروع کنیم
اکنون باید زبان برنامه نویسی خود را انتخاب کرده باشید ، در این مقاله بنده چند مبحث زیر را ارائه خواهم کرد :
- دانلود ، نصب و راه اندازی Visual Studio.NET یا Visual Web Developer
- آشنایی با محیط نرم افزار
- اشنایی با نحوه کار AspNET
- نکات کلی
برای شروع کافیست یکی از نسخه های Visual Studio.NET (پیشنهاد می کنم به روز باشید و آخرین نسخه آن را تهیه کنید ، هم اکنون نسخه 2010 آن هم به صورت نهایی ارائه شده است) را تهیه کنید ، اگر دسترسی به اینترنت پرسرعت دارید میتوانید نرم افزار Visual Studio Express را به صورت رایگان از سایت مایکروسافت دانلود نمایید :
Download Microsoft Visual Studio.NET Express 2010
دقت نمایید که فایل فوق یک فایل ISO بوده و باید توسط نرم افزارهای Writer بر روی CD یا DVD رایت شده یا میتوانید آن را Mount نمایید .
پیشنهاد می کنم قبل از نصب Visual Studio.NET به سراغ IIS بروید و آن را نصب کنید ، در مقاله زیر نحوه نصب و پیکیر بنده آن را توضیح داده ام :
نصب و پیکر بندی IIS در کامپیوتر شخصی
نصب نرم افزار Visual Studio یا VS توضیح خاصی ندارد ، مانند همه نرم افزار ها خیلی ساده با چند مرحله Next زدن نصب می شود ، پس از پایان نصب نرم افزار را اجرا نمایید .
وقتی برای بار اول نرم افزار اجرا شود سوالی مبنی بر تنظیمات محیط از شما پرسیده می شود ، پیشنهاد می کنم شما گزینه Web Development را انتخاب نمایید .
برای ایجاد یک پروژه وب جدید وارد منوی File > New Website شوید ، در این پنجره تنظیمات وب سایت جدید شما قرار دارد ، دو گزینه مهم در این قسمت Location و Language می باشد ، شما برای Location سه انتخاب دارید :
- File System : در این حالت بدون نیاز به نصب IIS میتوانید پروژه وب خود را در آدرس فیزیکی هارد دیسک ایجاد کنید ، به عنوان مثال : E:\Ali\MyNewWebsite یک وب سایت جدید به نام MyNewWebsite در آدرس E:\Ali ایجاد می نماید
- Http : فقط در حالتی که IIS نصب شده است کاربرد دارد ، شما می بایست آدرس مجازی IIS و سپس نام پروژه را وارد نمایید ، به عنوان مثال : http://localhost/MyNewWebsite یک فولدر جدید به نام MyNewWebsite در آدرس ریشه IIS شما (که معمولا C:\Inetpub\wwwroot است) ایجاد کرده و یک وب سایت به همین نام در IIS نیز ایجاد می نماید .
- Ftp : از این گزینه برای ایجاد یک وب سایت به از طریق پروتوکل FTP در یک سرور دیگر استفاده می شود که کاربرد زیادی ندارد .
همچنین یک لیست بازشو برای انتخاب ورژن Dotnet Framework نیز قرار داده شده است ، پیشنهاد می کنم حتی المقدور با آخرین ورژن آن کار کنید .
سپس Language خود را طبق زبانی که انتخاب کرده اید برگزینید و پروژه را ایجاد کنید .

به صورت پیشفرض یک صفحه وب به نام Default.aspx به پروژه شما اضافه خواهد شد ، در مورد این صفحه در ادامه بیشتر صحبت خواهیم کرد .
اکنون یک پروژه وب جدید در اختیار داریم ، بهتر است کمی با پنجره های این نرم افزار آشنا شویم :
نرم افزار VS.NET داری 4 پنجره بسیار مهم می باشد :
- پنجره Solution Explorer : برای نمایش این پنجره مسیر View > Solution Explorer را انتخاب کنید . این پنجره وظیفه نمایش تمامی فایل های پروژه شما را بر عهده دارد ، از طریق این پنجره شما قادر خواهید بود صفحات مختلف را باز کرده ، ویرایش و مدیریت نمایید . همانطور که در تصویر فوق ملاحظه می کنید این پنجره در سمت راست بالای تصویر قرار گرفته است .
- پنجره ToolBox : برای نمایش مسیر View > Toolbox را بمیپایید ، در این پنجره تمامی ابزار لازم جهت طراحی فرم ها در اختیار شما قرار داده می شود ، همانطور که در تصویر ملاحظه می کنید این پنجره در سمت چپ تصویر قرار دارد .
- پنجره Properties : برای ظاهر کردن این پنجره View > Properties Window را انتخاب نمایید ، این پنجره تمامی خواص و رویداد های یک شی را نمایش می دهد ، در مورد خواص و رودیداد در مقالات بعدی به تفصیل صحبت خواهد شد ، همانطور که ملاحظه می کنید این پنجره در سمت راست پایین صفحه قرار گرفته است .
- پنجره اصلی : این پنجره که در تصویر در وسط صفحه قرار گرفته است شامل بخش های اساسی جهت طراحی و کد نویسی می باشد ، همانطور که مشاهده می کنید در بالای این پنجره صفحات مختلف شما به صورت Tab در کنار هم قرار گرفته اند که شما به راحتی میتوانید بین آنها انتخاب نمایید ، در قسمت پایین این پنجره 3 گزینه وجود دارد :
- Design : با انتخاب این گزینه یک صفحه سفید در اختیار شما قرار داده خواهد شد ، شما میتوانید از منوی ابزار اشیا مورد نظر را داخل این فضا Drag نمایید . همچنین میتوانید از منوی Table که در بالای نرم افزار VS.NET قرار گرفته جداول مختلفی در این فضا ایجاد نمایید .
- Source : هر چیزی که شما در بخش Design به صفحه اضافه نمایید یک کد معادل خواهد داشت که در این بخش نمایش داده می شود ، این صفحه بر اساس و پایه HTML طرح ریزی می شود بنابراین یادگیری HTML در فهم این کدها و به تبع آن طراحی بهتر شما کمک خواهد کرد .
- Split : این صفحه همانطور که از نامش پیداست ترکیبی از دو نحوه نمایش فوق را به نمایش می گذارد .

چند نکته در مورد این پنجره ها :
- شما میتوانید پنجره ها را جابجا کنید ، برای اینکار قسمت فوقانی پنجره را گرفته و در سمت دلخواه Drag نمایید .
- پنجره ها خاصیتی برای Auto hide شدن دارند که در قسمت فوقانی هر پنجره با شکل
قرار گرفته است ، که فضا را برای کد نویسی باز تر خواهد کرد .
- شما میتوانید Tab های پنجره اصلی را به صورت افقی یا عمودی در کنار هم قرار دهید ، کافیست روی یکی از تب ها کلیک راست کرده و گزینه New Horizontal Tab Group یا Vertical را انتخاب نمایید .
- در صورتی که چندین Tab در پنجره اصلی باز کرده باشید میتوانید تمام آنها را یکجا ببندید ، برای این منظور وارد منوی Window شده و سپس Close All Document را انتخاب نمایید ، همچنین میتوانید همه تب ها به جز یک تب دلخواه را ببندید ، برای این منظور روی تب مورد نظر کلیک راست کرده و گزینه Close All But This را انتخاب کنید با این کار سایر تب ها بسته خواهند شد .
همانطور که ملاحظه کردید به صورت پیشفرض یک صفحه به نام Default.aspx به پروژه شما اضافه شد که میتوانید آن را از طریق Solution Explorer باز نمایید ، لازم به ذکر است که صفحات وب در Asp.NET با پسوند aspx شناخته می شوند ، برای اضافه کردن یک صفحه جدید به پروژه وارد منوی Website شده و گزینه Add New Item را برگزینید ، در پنجره باز شده لیستی از تمام آیتم هایی که شما قارد هستید به پروژه اضافه کنید نمایش داده می شود ، از بین این آیتم ها گزینه اول یعنی Web Form را انتخاب کرده در فیلد Name یک نام لخواه مثلا Register.aspx برای این صفحه انتخاب کنید ، از لیست Language زبان مورد نظر را انتخاب کرده و حتما تیک Place Code In Seperate File را علامت دار کنید ، این کار باعث میشود که صفحه طراحی شما از صفحه کد نویسی شما جدا شود . در مورد گزینه Select Master Page هم بعدا صبحت خواهد شد .
پس از تایید ، صفحه جدید به پروژه اضافه شده و به صورت پیشفرض در حالت Source در پنجره اصلی گشوده می شود ، با کلیک بر روی گزینه Design به حالت طراحی وارد شوید ، اکنون میخواهیم یک فرم ساده ایجاد کنیم و چند خط کد نویسی خیلی ساده انجام دهیم .
بدین منظور از پنجره Toolbox و از بخش Standard ابزار Textbox را پیدا کرده و آن را در صفحه اصلی Drag نمایید (همچنین با Double Click کردن بر روی هر کدام از آیتم ها نیز ابزار مورد نظر به صفحه اضافه می شود) ، سپس یک Button هم به همین صورت به صفحه اضافه نمایید .
هر یک از این ابزار که شما داخل صفحه انداختید از این پس یک شی محسوب می شود ، شما میتوانید خواص مختلف هر یک از این اشیا را تغییر دهید ، برای این کار روی شی مورد نظر (به عنوان مثلا Button که در صفحه قرار داده اید) کلیک راست کرده و گزینه Properties را برگزینید :

همانطور که ملاحظه می کنید خواص این Button در پنجره Properties نمایش داده خواهد شد ،هر شی خواص مختص به خود را داشته و برخی خواص مانند BackColor و... در بین همه اشیا مشترک هست ، این خواص به چند دسته مختلف تعیین شده است ، خواص ظاهری ، خواص که مربوط به رفتار شی است و... برخی از خواص مهم تر بوده و کاربرد بیشتری دارد ، مانند خاصیت Text و خاصیت ID ، خاصیت Text متن نوشته شی را مشخص می کند و خاصیت ID شناسه شی است و نمیتواند تکراری باشد .
نکته : از آنجایی که خاصیت ID شناسه هر شی می باشد و ما در کد نویسی اشیا را با ID پیدا می کنیم ، همیشه سعی کنید خاصیت ID تمام اشیا روی صفحه را تغییر دهید ، مثلا اگر یک Textbox برای دریافت ایمیل کاربر قرار دادید ID آن را txtEmail بگذارید ، اگر یک Label برای نمایش نام کاربر قرار دادید ID آن را lblName قرار دهید و اگر یک Button برای تایید فرم گذاشتید ID آن را btnSubmit قرار دهید .
اکنون مایل هستیم که این صفحه که ایجاد کردیم را در مرورگر خود (اینترنت اکسپلورر یا فایرفاکس) مشاهده کنیم ، برای اینکار به سراغ Solution Explorer خود رفته روی صفحه مورد نظر خود (مثلا Register.aspx یا Default.aspx) کلیک راست نمایید و سپس گزینه View In Browser را انتخاب نمایید

اگر پس از انجام این کار سوالی از شما پرسیده شد گزینه OK را انتخاب نمایید ، سپس یک مروگر باز شده و صفحه ای که شما طراحی کرده بودید نمایش داده خواهد شد .
اجازه بدهید کمی به نحوه عملکرد Asp.NET برای تولید یک صفحه بپردازیم ، لطفا به سراغ پنجره اصلی رفته و گزینه Source را انتخاب کنید تا کد های HTML به شما نمایش داده شود ، احتمالا شما نیز کدهایی مشابه کدهای زیر مشاهده خواهید کرد :
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Register.aspx.vb" Inherits="Register" %>
<!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></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="btnSubmit" runat="server" Text="تایید" />
</div>
</form>
</body>
</html>
در کد های فوق دو خط کد زیر را در نظر بگیرید :
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="btnSubmit" runat="server" Text="تایید" />
این دو خط کد مربوط دو شی Button و Textbox ما هستند ، اکنون این صفحه را در مروگر باز نمایید ، سپس روی صفحه مرورگر خود کلیک راست کرده و گزینه View Source را انتخاب کنید ، کد هایی مشابه زیر به شما نمایش داده خواهد شد :
<!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><title>
</title></head>
<body>
<form name="form1" method="post" action="Register.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE0MDM4MzYxMjNkZDFHBgA6ac83XXS+mQDRH/zF+AaU" />
</div>
<div>
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwLllbTvBQLEhISFCwLCi9reA8/nyMj1EFC2F09rdgzoIYCyCA9g" />
</div>
<div>
<input name="txtName" type="text" id="txtName" />
<input type="submit" name="btnSubmit" value="تایید" id="btnSubmit" />
</div>
</form>
</body>
</html>
نکته خیلی خیلی مهم اینجاست که کدهایی که ما در صفحه Register.aspx نوشتیم با این کدها کمی تفاوت دارد ، به عنوان مثال دو خط کد مربوط به Textbox و Button به صورت زیر تغییر کرده اند :
<input name="txtName" type="text" id="txtName" />
<input type="submit" name="btnSubmit" value="تایید" id="btnSubmit" />
همانطور که ملاحظه می کنید تگ های Asp:Textbox و Asp:Button به تگ Input تغییر کرده اند .
سوال اینجاست که دلیل این اتفاق چیست ؟
دلیل این اتفاق سهولت کار برای برنامه نویس است ، Dotnet یک سری ابزار برای راحتی کار برنامه نویس ایجاد کرده است ، این ابزار از شی گرایی پیروی می کنند و خیلی ساده میتوان خواص آن ها را تغییر داد و از رویداد های آنها استفاده کرد ، میتوان برای آنها کد نویسی کرد و... و در نهایت این اشیا به کد های HTML قابل فهم برای مروگر تبدیل خواهند شد .
البته در بین کد های صفحه Register.aspx شما کد های HTML هم وجود دارد مثلا تگ های div و تگ form و تگ body که تگ های HTML محض هستند و در این عملیات تغییری نمی کنند ولی تمام تگهایی که با Asp شروع می شوند و خاصیت runat=Server دارند باید به HTML محض تبدیل شوند .
توضیحات اضافی :
وقتی درخواست نمایش صفحه Register.aspx (یا هر صفحه aspx دیگر ) از طرف مروگر به سرور (IIS) صادر می شود ابتدا IIS چک می کند که این صفحه متعلق به کدام Engine است ، وقتی متوجه شد که این صفحه مربوط به Asp.NET است آن را برای ترجمه به DotnetFramework ارائه می کند ، دات نت فریم ورک تمامی کد های لازم را ترجمه می کند (کد های سمت سرور به زبان ویژوال بیسیک و سی شارپ و همچنین تگ های دارای Runat=Server) و در نهایت خروجی را به صورت HTML به IIS تحویل داده و IIS آنرا به مرورگر شما می فرستد . دقت بفرمایید که کدهای Visual Basic به HTML تبدیل نمی شوند بلکه نتیجه تغییرات شما که توسط کدهای ویژوال بیسیک داده شده است به صورت HTML ارائه می گردد .
اکنون که با سازوکار Asp.NET آشنا شدیم به سراغ کد نویسی میرویم :
همانطور که توضیح دادم این اشیا دارای خاصیت های گوناگونی هستند ، کنترل Textbox دارای یک خاصیت به نام Text است که متن داخل آن را تعیین می نماید ، دیدیم که چطور از طریق پنجره Properties میتوان خاصیت Text و سایر خصیصه ها را به راحتی تغییر داد ، اکنون میخواهیم این کار را از طریق کد نویسی انجام دهیم .
در حقیقت میخواهیم و قتی کاربر روی Button کلیک کردم متن داخل Textbox تغییر کند برای این منظور روی Button دابل کلیک کنید ، با این کار یک صفحه جدید برای شما باز خواهد شد ، این صفحه همان صفحه کد نویسی شماست که باید به زبان Visual Basic یا #C بسته به انتخاب خودتان کد نویسی انجام دهید ، هنگامی که روی Button دابل کلیک می کنید این صفحه باز شده و یک بلاک کد مشابه زیر در اختیار شما قرار می گیرد :
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
End Sub
شما میتوانید کد های خود را در بین این دوخط تایپ کنید ، این کد ها زمانی اجرا می شوند که در صفحه وب کاربر بر روی باتن کلیک نماید ، همچنین لازم به ذکر است که فقط میتوان در بین بلاک ها کد نویسی کرد و شما اجازه ندارید کدهایتان را خارج از این بلاک ها بنویسید .
اکنون میخواهم جمله "Hello Asp.NET" را به خصیصه Text شی Textbox که آیدی آنرا txtEmail قرار دادیم نسبت بدهیم ، بدین منظور کد زیر را داخل بلاک کد فوق قرار می دهیم :
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
txtName.Text = "Hello Asp.NET"
End Sub
همانطور که ملاحظه می کنید بنده متن دلخواهم را داخل " " قرار دادم ، دلیل این کار این است که خاصیت Text کنترل Textbox از نوع String یا رشته حرفی است بنابراین باید یک رشته حرف به این خاصیت نسبت داده شود .
اکنون پروژه را کامل Save کنید (File > SaveAll) و صفحه مورد نظر را View In Browser بگیرید ، بر روی دکمه کلیک نمایید و نتیجه را مشاهده نمایید .
فایل ضمیمه پروژه را از اینجا دانلود نمایید
قسمت بعدی : آشنایی با زبان HTML