PDA

نسخه کامل مشاهده نسخه کامل : ارسال ايميل در ASP.NET



zolfaghary
07-08-2006, 15:41
من در حال نوشتن يك برنامه با (ای اس پی دات نت ) هستم و در آن نیاز به ساخت تابعی برای ارسال ایمیل از طریق برنامه را دارم . لطفا راهنمایی کنید .

alidehghan
08-08-2006, 00:24
دوست عزيز با 1 يا 2

hamid_xp
10-08-2006, 15:53
سلام . یه کد تحت زبان سی شارپ بهت میدم که استفاده کنی :
ابتدا باید خط زیر را در بالای صفحه مربوطه وارد کنی :
using System.Web.mail سپس کد زیر رو وارد کن:


mailone=new MailMessage();
mailone.Fields.Add("[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]", 1);
mailone.Fields.Add("[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]", "TempEmail");
mailone.Fields.Add("[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]", "TempEmail Password");
mailone.Subject=tilte.Text;
mailone.To=to.Text;
mailone.From=from.Text;
mailone.Body=body.Text;
mailone.Priority=MailPriority.Low;
mailone.BodyFormat=MailFormat.Html;
SmtpMail.SmtpServer="mail.yourdomain.com";
SmtpMail.Send(mailone);

امیدوارم به کارت بیاد.

aminkarami
13-08-2006, 22:50
فقط بپا که با این کدی که دوستمون دادن email رو حتما pop3 بدی چون تو حالت دیگه باید براش تعریف کنی که رو mail login کنه که دیگه n خط کده

A_M_IT2005
15-08-2006, 02:54
سلام
من فقط میتونم اینجوری کمکت کنم.

ارسال ایمیل در ASP.NET با استفاده از HTML Template
خوب احتمالا شما با روش ساختن یک نمونه از آبجکت MailMessage که در ASP.NET برای ارسال Email استفاده می شود آشنایی دارید (اگر این چنین نیست در ادامه مقاله به طور اجمالی توضیحاتی ارائه شده است) تنها قسمتی که باید مورد توجه قرار دهید این است که چگونه می توانیم Body نامه خود را به فرمت HTML و بدون نیاز به اینکه تمامی تگها را پشت سر هم در یک رشته طولانی و سردرگم کننده تایپ کنیم، درآوریم. یک ایده جالب این است که ما Template نامه خود را با استفاده از ادیتورهای WYSIWYG مثل FrontPage یا Dreamweaver طراحی کنیم و سپس تمامی کدهای HTML آن را درون یک متغیر رشته ای Import کرده و از آن استفاده کنیم. این کار بسیار آسان است. اما می توان این نامه را برای هر کاربر کمی سفارشی (Customize) کرد! برای مثال شما می توانید در ابتدای نامه کاربر را با نام وی مورد خطاب قرار دهید. بهتر است از این پس توضیحات را همراه با کدنویسی دنبال کنیم. (کلیه کدهای Server Side به زبان VB.NET نوشته شده است) سه گام اساسی برای این کار وجود دارد:

1- ساختن Template مورد نظر شما جهت ارسال Email:
برای این کار کافی است که Template مورد نظر خود را به فرمت HTML طراحی کنید. این به خود شما بستگی دارد که کدهای HTML را به صورت دستی بنویسید و یا از ادیتورهای WYSIWYG مانند FrontPage یا Dreamweaver یا !GoLive استفاده کنید. تنها تفاوتی که در اینجا وجود دارد این است که شما بایستی قسمتهایی از متن نامه خود را که متغیر هستند (مانند نام گیرنده Email، آدرس پست الکترونیکی وی و ...) را به گونه ای از بقیه قسمتها متمایز کنید. برای مثال اگر شما می خواهید در ابتدای نامه، دریافت کننده نامه را با نام خود مورد خطاب قرار دهید عبارت را به صورت زیر وارد کنید: "سلام "#NAME# لطفا توجه کنید که هیچ محدودیتی در تکنیک به کار رفته وجود ندارد و قرار دادن کاراکترهای ## فقط جهت متمایز ساختن این قسمت از محتوای استاتیک صفحه است و شما می توانید به صور دیگر آن را مشخص کنید مثلا ?NAME? یا هر چیز مشابه دیگر. این قسمت بعدا با نام شخص مورد نظر ما جایگزین می شود. نکته قابل ذکر دیگر اینکه چنانچه قصد دارید نامه خود را فارسی ارسال کنید تگ زیر را فراموش نکنید:

<meta [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]"Content-Type" content="text/html; charset=utf-8">


2- خواندن فایل Template جهت قراردادن در Body نامه شما:
پس از اینکه Template را آماده نمودید بایستی این فایل را بخوانید، قسمتهای مورد نظر (متمایز شده با ##) را با عبارات مورد نظر خود (که می توانید از Database استخراج کنید) جایگزین کنید و این متن را به صورت یک متغیر رشته ای در Body نامه خود قرار دهید (گام 3). این کار به وسیله کد زیر صورت می پذیرد: (قبل از هر چیز شما بایستی Namespace مورد نیاز که در اینجا System.IO می باشد را Import کنید)
Imports System.IO

Dim reader As StreamReader
Dim strFileName As String = Server.MapPath("templatel.htm")
Dim strFileText

reader = File.OpenText(strFileName)

While reader.Peek <> -1
strFileText += reader.ReadLine()
End While

reader.Close()
strFileText = Replace(strFileText, "#Username#", Name.Text)
strFileText = Replace(strFileText, "#MsgID#", Request("MsgID"))
strFileText = Replace(strFileText, "#AuthorID#", Request("AuthorID"))


حال بیایید نگاهی به کد فوق بیاندازیم: در سطر اول شما یک شی از نوع StreamReader که جهت خواندن فایلهای متنی به کار می رود را می سازید و در سطر بعدی مسیر فیزیکی فایل Template خود را در متغیر رشته‌ای strFileName ذخیره می کنید.

نکته: در صورتیکه بخواهید در فایل کلاس خود از کد فوق استفاده کنید بایستی مسیر فیزیکی فایل را با استفاده از System.Web.[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]("template.htm") به دست آورید. اما در Code Behind یک WebForm همان Server.MapPath() کافی است.

سپس در سطر بعدی ما با استفاده از متد OpenText فایل مورد نظر را باز کرده و متن آن را در Reader قرار می دهیم. حال در یک حلقه While...End While سطر به سطر فایل Template را (که در اینجا کدهای HTML ما هستند) می خوانیم و در متغیر strFileText ذخیره می کنیم. Reader.Peek <> -1 بررسی می کند که آیا به انتهای فایل رسیده ایم یا خیر. پس از اینکه کل فایل را خوانده و در متغیر ذخیره کردیم. شی reader را می بندیم.

در اینجا شما باید Template نامه خود را برای کاربر خاص Customize کنید. یعنی عبارات محصور شده با ## را با اطلاعات کاربر (که از بانک اطلاعاتی استخراج می شود و یا از یک Query String دریافت می شود) جایگزین کنید. در مثال بالا مقدار اول در Template با مقدار یک Textbox و دو مورد بعدی با Query String های انتهای یک URL جایگزین می شود.

حاصل کار یک متغیر رشته ای به نام strFileText است که حاوی کد HTML مورد نیاز شما برای ارسال یک HTML Email می باشد. که مثلا عبارت ابتدای آن به صورت زیر در آمده است: "سلام مهدی"

3- استفاده از قالب Import شده فوق و ارسال Email:
حال به آسانی Email را ساخته و ارسال می کنیم. بدین ترتیب: (Imports System.Web.Mail را فراموش نکنید!)
'Creating and sending mail to user
Dim objMail As New MailMessage()
objMail.From = "You@YourDomain.com"
objMail.To = Email.Text.Trim
objMail.Subject = "YOUR SUBJECT GOES HERE..."
objMail.BodyFormat = MailFormat.Html
objMail.BodyEncoding = System.Text.Encoding.UTF8
objMail.Body = strFileText
SmtpMail.SmtpServer = "smtp.YOURSERVER.com"
SmtpMail.Send(objMail)


این قسمت نیاز به توضیخ چندانی ندارد. جز اینکه objMail.To را بایستی به صورت داینامیک (از DB و ...) تغییر دهید (در اینجا مقدار از یک Textbox دریافت شده است)، SMTP Server خود را مشخص کنید و Email را ارسال کنید! به همین سادگی. بقیه موارد بسیار واضح هستند.

لطفا به این نکته توجه کنید که برخی SMTP Serverهایی که نیاز به Authentication دارند را نمی توان برای این منظور (ارسال Email به آدرس های خارج از SMTP Server فوق) مورد استفاده قرار داد. در این خصوص لطفا به Administrator سرور خود رجوع کنید.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] :منبع

marde bozorg
15-08-2006, 19:32
با سلام
من نياز به آموزش asp دارم كسي كمك ميكند؟؟؟؟

marde bozorg
15-08-2006, 19:37
لطفا كمك كنيد

marde bozorg
15-08-2006, 19:38
آقاي امين كريمي ميشه به من كمك كنيد ضروريه

aminkarami
15-08-2006, 23:43
من اسمم امین کرمی بود دوست عزیز در ضمن چجوری می خوای شروع کنی با کتاب انگلیسی یا پروژه های آماده

aminkarami
15-08-2006, 23:45
برای اول پیشنهاد می کنم برید [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] در بخش learning که به صورت عالی و ساده همه چیو توضیح داده حتی امکانات خیلی جدید .net2

alidehghan
16-08-2006, 11:38
به نظر من اگه می خوای زود راه بیفتی بی خیال فارسی شو و بزن تو کار کتاب ها و پروژه های استاندارد ... بزرگترین منبع مقالات هم اینجاس دوست عزیز... [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] از جون آدمیزاد تا ... مثال داره ....

mohammadms5
29-08-2006, 08:48
سلام . یه کد تحت زبان سی شارپ بهت میدم که استفاده کنی :
ابتدا باید خط زیر را در بالای صفحه مربوطه وارد کنی :
using System.Web.mail سپس کد زیر رو وارد کن:


mailone=new MailMessage();
mailone.Fields.Add("[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]", 1);
mailone.Fields.Add("[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]", "TempEmail");
mailone.Fields.Add("[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]", "TempEmail Password");
mailone.Subject=tilte.Text;
mailone.To=to.Text;
mailone.From=from.Text;
mailone.Body=body.Text;
mailone.Priority=MailPriority.Low;
mailone.BodyFormat=MailFormat.Html;
SmtpMail.SmtpServer="mail.yourdomain.com";
SmtpMail.Send(mailone);

امیدوارم به کارت بیاد.

ببین دوست عزیز متد فیلد مربوط به سی دی او است .شیی میل مسیج این خاصیت را ندارد .ولی اگه شما با
این روش فرستادید لطفا سورس کاملش رو دارید که روی هر سروری اجرا می شود بزارید.

somsom
30-08-2006, 16:26
مرده بزرگ اگه مي خواي من مي تونم ebook asp برات بفرستم

somsom
30-08-2006, 16:28
somayehfaraji@gmail.com

marde bozorg
02-09-2006, 18:13
آقاي امین کرمی با معذرت از شما بابت اسمتون :blush: میخواستم ب÷رسم چرا iis
در taskbar نصب نشده و نشان داده نميشه؟؟
و ديگه اين كه چطوري ميشه يه فرم نظر خواهي به صفحه با asp اضافه كرد؟؟
يك دنيا بابت كمك ممنون.... :wub:

marde bozorg
02-09-2006, 18:14
آقاي امین کرمی با معذرت از شما بابت اسمتون :blush: میخواستم ب÷رسم چرا iis
در taskbar نصب نشده و نشان داده نميشه؟؟

marde bozorg
02-09-2006, 18:15
و ديگه اين كه چطوري ميشه يه فرم نظر خواهي به صفحه با asp اضافه كرد؟؟
يك دنيا بابت كمك ممنون.... :wub:

Admin of Part
03-09-2006, 00:30
<CODE>
Dim message As New MailMessage("sender@address", "from@address", "Subject", "Message Text")
Dim emailClient As New SmtpClient("Email Server Name")
emailClient.Send(message)

</CODE>
همين ! :cool:

marde bozorg
03-09-2006, 09:51
بابت كمكتون يه n2 يا ممنون

marde bozorg
03-09-2006, 09:53
من يه مشكل ديگه هم پيدا كردم ..ايكن IIS برام نشون داده نميشه تا ازش استفاده كنم در حالي كه به طور كامل در
add \remove نصبش كردم....

hamid_xp
03-09-2006, 19:41
ببین دوست عزیز متد فیلد مربوط به سی دی او است .شیی میل مسیج این خاصیت را ندارد .ولی اگه شما با
این روش فرستادید لطفا سورس کاملش رو دارید که روی هر سروری اجرا می شود بزارید.


ببین دوست من اگه میخوای این کد تو سیستم خودت اجرا بشه باید کد SmtpMail.SmtpServer="mail.yourdomain.com"
رو حذف کنی . اگر هم میخوای تو اینترنت استفاده کنی به جای mail.yourdomain.com نام دومین خودت رو بنویس.(به جای yourdomain.com
اگر هم کار نکرد کدت رو با پیغام برام بفرست تا درستش کنم.
ممنون.

ali_nioton
05-09-2006, 11:03
منظور از ايكون
Iis
چیه
این که خودش فعال میشه
کنترل لت دلیت رو بزن
برو به تبه پروسس...
اونجا می بینی
سرویس هاش فعاله؟

چه استفاده ای میشه ازش کرد؟

ali_nioton
05-09-2006, 11:05
از ای اس پی به دات نت چجوری برم؟

استودیوی 2003 رو نصب کردم
سی پلاس
سی شارپ
جی شارپ
وی بی
رو داره

می خام برم سراغ دات نت
چی کارایی باید بکنم؟

marde bozorg
05-09-2006, 23:31
منم همين سوالو دارم تو رو خدا جواب بديد چه جوري از asp.net استفاده كنم؟؟

marde bozorg
05-09-2006, 23:34
علي آقا لطفا .گه پيشرفتي كرديد دست ما رو هم بگيريد................البته با تشكر قبلي..

marde bozorg
05-09-2006, 23:43
راستي ايكن iis منم نشنيده بودم اما توي يكي از تاپيك ها نوشته بود واسه مطمئن شدن از فعال بودن iis در taskbar ميبينيدش روش clickكنيد بعد هم با browser [كه نميدونم چيه؟؟!!! معذرت من خيلي تازه كارم شما ببخشيد..] asp تون رو اجرا كنيد...اينجوري بود ديگه آقا...

marde bozorg
05-09-2006, 23:46
تازه من vs 2005 دارم....البته يه جورايي متاسفانه...

marde bozorg
05-09-2006, 23:52
اينم اون راهنمايي كه گفتم ...
چگونه IIS را در ويندوز XP نصب کنيد و ASP اجرا کنيد؟

نکته: شما نمي توانيد ASP را روي ويندوز XP نسخه خانگي (Home Edition) اجرا کنيد.
از دکمه Start به Settings و سپس Control Panel برويد.
در پنجره Control Panel آيکن Add/Remove Programs را انتخاب کنيد.
در پنجره Add/Remove Programs گزينه Add/Removes Windows Components را انتخاب کنيد.
در پنجره جديد گزينه Internet Information Services را انتخاب کرده، OK را بزنيد.
يک شاخه Inetpub در هارد شما ايجاد خواهد شد. آن را باز کنيد و شاخه [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] را پيدا کنيد.
يک شاخه جديد درست کنيد و نام آن را چيزي شبيه به "MyWeb" بگذاريد.
از يک ويرايشگر متن استفاده کنيد و کدهاي ASPي را بنويسيد، فايل را به نام "test1.asp" را در شاخه "MyWeb" ضبط کنيد.
مطمئن شويد که وب سرور شما اجرا است - برنامه نصب يک آيکن جديد در Task Bar شما اضافه کرده است (اين نشانه IIS است). بر روي آن کليک کنيد و دکمه Start را در پنجره اي که آمده بزنيد.
Browser خود را باز کنيد و تايپ کنيد "[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]"، تا اولين صفحه ASP خود را ببينيد.
نويسنده : محمد باقر معموری

ali_nioton
08-09-2006, 09:24
اينا رو برا من گفتي
من Iis رو نصب کردم
کار میکنه
Asp می نویسم

اینکه ایکون و فلان و ...
اینا رو میگم چیه
اینا برا وین ایکس پی هومه؟

marde bozorg
11-09-2006, 19:55
سلام دوستان
اينو تقديم ميكنم به تمام بچه هايي كه بدون كمك شروع به برنامه نويسي با asp.net مي خوان بكنن
اميدوارم همونجوري كه واسه من مفيد بود واسه شما هم مفيد باشه:

ايجاد يک وب‌سايت خالی برای شروع کار
ابتدا در Visual Studio 2003 يک پروژه ASP.NET جديد ايجاد می‌کنيم. همه فايل‌های و کلاس‌ها و برنامه‌های سايت داخل يک پروژه قرار می‌گيرد.


يک سايت که با ASP.NET ساخته می‌شود می‌تواند با چندين زبان مثل Visual Basic ، C# و يا J# نوشت بطوری که هر صفحه از يکی از اين زبان استفاده کند ولی در Visual Studio کل پروژه شما فقط با يک زبان نوشته خواهد شد.
ايجاد يک پروژه ASP.NET
• داخل Visual Studio از منو File گزينه New > Project را انتخاب کنيد.
• در کادر باز شده نوع پروژه را Visual C# و قالب آن را ASP.NET Web Application انتخاب کنيد.
• در بخش Location نام پروژه را وارد کنيد. در اين بخش [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] را وارد کنيد.


به [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] دست نزنيد. اين مشخص می‌کند که پروژه ASP.NET شما بر روی سرور خود کامپيوترتان ايجاد و اجرا خواهد شد. ASP.NET يک تکنولوژی بر اساس Server است و فقط برروی سرور اجرا می‌شود. اين سرور می‌تواند کامپيوتر خودتان باشد. معمولا پوشه پروژه شما در C:\Inetpub\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] (بسته په پارتيشن ويندوز) ايجاد خواهد شد.

• ok را بزنيد تا پروژه ايجاد شود.

در صورتی که Internet Explorer در وضعيت Offline باشد موقع ايجاد يا باز کردن پروژه پيام خطايی دريافت خواهيد کرد. در چنين مواردی Internet Explorer رو باز کنيد و از منو File تيک گزينه Work Offline رو برداريد.

بعد از ايجاد پروژه صفحه‌ای نقطه‌نقطه می‌بينيد که اين اجازه را می‌دهد که اجزای صفحه (نظير تصاوير، برچسب‌ها يا جعبه‌های متن) را در هر نقطه از صفحه قرار دهيد. اين موضوع در نگاه اول خوب به نظر می‌رسد ولی چند مشکل بزرگ دارد. اول اينکه مجبوريد مکان تک‌تک اجزای صفحه رو تعيين کنيد که گاهی ممکن است به علت متغير بودن متون صفحه اين کار ممکن نباشد. گاهی هم ممکن است اجزای صفحه روی هم قرار بگيرند. ديگر اينکه به علت مطلق بودن اندازه‌ها در صورتی که مثلا بخواهيم چيزی را در وسط صفحه (که اندازه‌ متغيری داره) قرار بدهيم يا برای هدر سايت بخواهيم نواری قرار دهيم که از ابتداي صفحه تا انتهاي صفحه را بگيرد با اين شيوه امکان‌پذير نيست.
برای تغيير اين شيوه یك روش معمولی طراحی صفحات روی يک فضاي خالی صفحه راست کليک کنيد و از منو Properties را انتخاب کنيد و سپس از ليست Page Layout گزينه FlowLayout را انتخاب کنيد.

مديريت و اضافه کردن صفحات
با پنل Solution Explorer که به طور معمول در سمت راست صفحه قرار دارد می‌توانيد صفحات پروژه را مديريت کنيد. (در صورتی اين پنل را نمی‌بينيد از منو View گزينه را انتخاب کنيد.)
برای اضافه کردن صفحه جديد روی نام پروژه راست کليد کنيد و از زير منو Add روی گزينه Add Web Form کليک کنيد و نام صفحه خود را تعيين کنيد. همانطور که می‌دانيد صفحات ASP.NET که به انها Web Form گفته می‌شود و بازديدکنندگان سايت به انها دسترسی دارند پسوند ASPX دارند.



قبل از ارائه ASP.NET ما در برنامه‌های Visual ابزاري داشتيم به نام Windows Form که با ان پنجره‌های برنامه‌های معمولی ويندوز را ايجاد می‌کرديم و اجزايی (مثل دکمه و جعبه متن) روی ان قرار می‌داديم و برای رويدادهايی که برای آن اجزا رخ می‌داد، برنامه می‌نوشتيم. (مثلا می‌گفتيم وقتی روی دکمه کليک شد تاريخ روز از سيستم خوانده شده و در جعبه متن نشان داده شود) ASP.NET دقيقا همين شيوه را در طراحی وب پياده کرده به همين علت اسم صفحات را Web Form مشابه Windows Form گذاشته اند.


برای تغيير اسم يا حذف صفحات هم می‌توانيد از پنل Solution Explorer استفاده کنيد. در اين پنل به طور معمول فقط منابع اصلی ASP.NET رو که نياز داريد رو نشان می‌دهد. برای ديدن همه فايل‌های پروژه (از جمله عکس‌ها) در اين پنل دکمه Show All Files را بزنيد.

ايجاد و اجرای اولين پروژه ASP.NET - بخش اول: طراحی صفحه
اين دفعه می‌خواهيم نحوه ايجاد يک برنامه خيلی ساده ASP.NET و اجرای ان را توضيح مي دهيم. می‌خواهيم صفحه‌ای ايجاد کنيم که اسم کاربر را گرفته و يك پيام خوش‌آمدگويی نشان ‌دهد.
اول پروژه‌ای را که در قبل ساختيم را باز مي کنيم. اگه فايل Default.aspx باز نيست با کليک روی ان در Solution Explorer بازش کنيد.
معمولا سمت چپ صفحه پنلی به اسم Toolbox هست که توسط ان می‌توانيم اشيائی که مربوط به صفحه هستند را در صفحه بکشيم و از ان‌ها برای طراحی صفحه استفاده کنيم. اگر اين پنل را نمی‌بينيد از منو View گزينه Toolbox را انتخاب کنيد. اين پنل چندين زبانه دارد که ما اينجا از زبانه Web Forms استفاده می‌کنيم.





در قبل گفتم که با اضافه کردن خصوصيت runat="server" به تگ‌های عادی می‌تونيد ان‌ها را برای استفاده در ASP.NET آماده کنيد. به اين نوع کنترل‌ها HTML Control میگويند که برای ايجاد سازگاری بين ASP.NET و صفحات HTML قديمی درست شده اند. اما کنترل‌های ديگری هم وجود دارند به اسم Server Control که نسبت به کنترل‌هاي HTML Control قابليت‌های بيشتری دارند. تگ‌های ايجاد شده با اين کنترل‌ها با <ASP:… شروع می‌شوند. موارد موجود در زبانه Web Forms شامل Server Controlها می‌شوند.

ما براي اين برنامه به اين کنترل‌ها نياز داريم:
• کنترل Label که به ما اجازه می‌دهد متن ان را با استفاده از کد به دلخواه تغيير دهيم. اين کنترل متن خوش‌آمدگويی ما را نشان می‌دهد.

• کنترل Textbox که به کاربر اجازه می‌دهد متنی را در آن بنويسد. ما با استفاده از کدهاي موجود می‌توانيم نوشته کاربر را بخونيم.
از اين كنترل ما براي گرفتن نام كاربر استفاده مي كنيم.

• کنترل Button که يک دکمه است و کاربر می‌تواند روی ان کليک کند. وقتی روی دکمه کليک شد کدی که ما مي نويسيم اجرا می‌شود. ما برای اين دکمه کدی می‌نويسيم که اسم کاربر را از کنترل Textbox خوانده و متن خوش‌آمدگويی را در Lable بنويسد.
اول کنترل‌های Label ، Textbox و Button را از داخل Toolbox به داخل صفحه بکشيد.

سپس با دکمه‌های فلش‌دار صفحه‌کليد نشانگر را ما بين کنترل‌ها ببريد و دکمه Enter را بزنيد تا هر کنترل در يك خط قرار بگيرد.



در صورتی که فاصله‌های زياد ايجاد شده با دکمه Enter را دوست نداريد می‌توانيد از ترکيب دکمه‌های Shift+Enter استفاده کنيد.

می‌بينيد که Label و Button متن پيش‌فرض خود را دارند. برای تغيير متن داخل دکمه روی کنترل Button کليک کنيد. با کليک روی هر کنترل در پنل Properties که معمولا پايين سمت راست صفحه قرار دارد ليست خصوصيات ان نمايش داده می‌شود و شما می‌توانيد ان خصوصيات را ويرايش کنيد. در صورتی که اين پنل را پيدا نمی‌کنيد از منو View گزينه Properties Window را انتخاب کنيد
برای تغيير متن داخل دکمه بايد خصوصيت Text ان را عوض کنيد. در پنل خصوصيات (Properties) اين خصوصيت را پيدا کنيد و داخل آن متن «ارسال» را وارد کنيد. وقتی Enter را بزنيد می‌بينيد که نوشته داخل دکمه عوض مي شود. (می‌توانيد خودتان امتحان کنيد تا ببينيد بقيه خصوصيات باعث چه تغييراتی روي کنترل می‌شوند!)

اين کار را برای کنترل Label هم تکرار کنيد و متن ان را «لطفا نام خود را وارد کنيد». بکنيد




ASP.NET و کلا تکنولوژی .NET از يونی‌کد استفاده می‌کنه و به راحتی می‌شه هر جا از کاراکترهای غير لاتين هم استفاده کرد. البته شما هنگام ذخيره صفحاتی که شامل کاراکترهای يونی‌کد هستند بايد مشخص کنيد که به صورت يونی‌کد ذخيره شوند. برای اين کار از منو File مورد Save As… رو بزنيد و بعد روی فلش کوچيک کنار دکمه Save کليک کنيد و Save with Encoding... رو بزنيد و اونجا Unicode (UTF-8 with signature) – Codepage 65001 رو انتخاب کنيد. در صورتی که داخل کد يا HTML باشيد به منو File گزينه Advanced Save Options… اضافه می‌شه که اونجا هم می‌تونيد نوع کدگذاری رو تعيين کنيد.

ايجاد و اجرای اولين پروژه ASP.NET - بخش دوم: کدنويسی صفحه
حالا که ظاهر صفحه را درست کرديم می‌رسيم به نوشتن کد صفحه. همان‌طور که گفتم می‌خواهيم کاری کنيم که وقتی روی دکمه کليک شود کد مورد نظر اجرا شود و متن خوش‌آمدگويی نمايش داده بشود. روی دکمه دابل کليک کنيد تا Visual Studio کدهای لازم برای اين کار را آماده کند.



همه کنترل‌ها دارای رويداد‌های (Events) هستند که هر موقع ان رويدادها اتفاق افتادند کدی که برای انها نوشته شده اجرا می‌شوند. رويداد OnClick که يکی از پراستفاده‌ترين رويداد‌ها مي باشد وقتی روی کنترل کليک شود اجرا می‌شود. وقتی روی کنترل دابل کليک می‌کنيد Visual Studio تابع مورد نياز را ‌ساخته و ان را به عنوان رويداد OnClick منصوب می‌کند. فقط لازم است شما در تابع کد مورد نظر را بنويسيد.


توی ويرايش‌گر تايپ کنيد: Label1


هميشه به ياد داشته باشيد C# به بزرگی و کوچكی حروف به شدت حساس مي باشد !و هرگز Label1 برابر با label1 نيست. خيلی از مشکلات برنامه‌ها به همين خاطر پيش می‌آيند.
هر کنترلی برای خودش يك اسم منحصربه‌فرد دارد که به ان ID می‌گويند. ما برای اشاره به هر کدام از کنترل‌های داخل صفحه و کار با هر کدام بايد از اين ID استفاده کنيم. ID مربوط به Label ما Label1 مي باشد و چون ما می‌خواهيم با اون کار کنيم و متن ان را عوض کنيم به اين نام اشاره می‌کنيم.



موقع ايجاد يک کنترل‌ Visual Studio به طور خودکار برای ان ID تعيين می‌کند. مثلا ID اولين Label صفحه Label1 و ID دومين Label صفحه Label2 می‌شود. در پنل مشخصات می‌توانيد ID کنترل را ببينيد و عوض کنيد. بهتر است برای کنترل‌های خودتان اسم بامسما انتخاب کنيد تا اگر تعداد کنترل‌ها زياد شد برای پيدا کردن ان‌ها به مشکل برنخوريد.
بعد از Label1 يه دونه نقطه بذاريد

توی C# (و اکثر زبان‌های ديگه) وقتی از نقطه استفاده می‌کنيم که می‌خوايم از يکی از خصوصيات (يا متدهای) مربوط به کلاس مورد نظر خود استفاده کنيم. (Label هم يه نوع کلاس هستش) ما اينجا می‌خوايم خصوصيت Text مربوط به Label رو تغيير بديم به خاطر همين نقطه رو می‌ذاريم که بتونيم به خصوصيت Text برسيم.
ما وقتی نقطه رو می‌زنيم Visual Studio همه موارد مربوط به کلاس رو نشون می‌ده تا بتونيم از بين موارد يکی رو انتخاب کنيم. (با استفاده از اين قابليت می‌تونيم حتی با کلاس‌هايی که آشنايی هم نداريم تا حد زيادی کار کنيم) در ادامه کد Tex… رو وارد کنيد تا مورد Text انتخاب بشه، اون وقت Enter رو بزنيد تا عبارت تکميل بشه.
خب حالا ما به خصوصيت Text مربوط به Label خودمون دسترسی داريم و می‌خوايم توی اون متن خوش‌آمدگويی رو بنويسيم. به عباری ديگه می‌خوايم متنی رو به خصوصيت Text منتصب کنيم. اين کار با علامت = انجام می‌شه. در آخر کد علامت = رو وارد کنيد.

ما چی رو می‌خوايم داخل Label قرار بديم؟ می‌خوايم نام شخص بعلاوه متن خوش‌آمد رو داخل Label بنويسيم. مثلا اگر کاربر اسم «نويد» رو وارد کرده باشه بايد بنويسه: «نويد، خوش‌آمدی!»

برای خوندن متن وارد شده داخل Textbox بايد خصوصيت Text مربوط به Textbox1 را بخونيم. بعد ما اون رو با متن «، خوش‌آمدی!» جمع می‌بنديم. در ادامه کد اين رو وارد کنيد:
Textbox1.Text + "، خوش‌آمدی!"
برای اين‌که C# متوجه بشه با يه رشته متنی طرفه بايد متن رو داخل علامت نقل قول قرار بدين. علامت + هم دو متن رو به هم پيوند می‌ده. در آخر علامت ; را وارد کنيد. در C# بايد آخر همه خط‌ها يک علامت ; باشه
حالا می‌تونيم پروژه رو اجرا کنيم. اما اول بايد مشخص کنيم پروژه ما با کدوم صفحه شروع به کار کنه. برای اين کار توی Solution Explorer روی فايل Default.aspx راست کليک کنيد و گزينه Set As Start Page رو بزنيد. بعد توی نوار ابزار بالا روی Start کليک کنيد. در صورتی که نوار ابزار مربوطه رو نمی‌بينيد منو View > Toolbars > Debug رو تيک بزنيد
در صورتی که همه‌چيز مرتب باشه صفحه شما توی Internet Explorer باز می‌شه. اسمی وارد کنيد و نتيجه کار رو ببينيد! موفق باشيد!

marde bozorg
11-09-2006, 19:58
بچه ها تو رو خدا اين تاپيك رو خالي نكنيد
هر كي هر چي بلده ياد بقيه بده ...باشه؟

در ضمن نظر هم يادتون نره...موفق باشيد

salim_a
11-09-2006, 20:01
می تونی کمکم کنی


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

salim_a
11-09-2006, 20:02
رفقا کمک


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

marde bozorg
13-09-2006, 08:55
سليم جان من شرمنده ام اخه من asp.net دارم كار ميكنم اما برات ميگردم اگه چيزي ديدم ميذارم برات...