|
آموزش asp.net در این وبلاگ سعی شده تا اطلاعاتی در مورد asp.net و مثال هایی از آن برای کاربران ارائه شود. |
در این وبلاگ فرض شده کاربران عزیز تا حدی با ASP.NET آشنایی دارند.
امیدواریم بتوانیم بخشی از نیازهای شما را براورده کنیم.
ساعت و تاريخ
موضوعات
آمار بازدید : نفر
افراد آنلاين : نفر
مروری بر Html : جلسه 1 ( آموزش Html )
از اين جلسه قراره كه در ابتدا به آموزش HTML بپردازم.
به طور كلي مي تونيم نرم افزارها رو به سه دسته كلي تقصيم كنيم:
1. Web Application : برنامه هاي كاربردي كه تحت وب ( شبكه) كار مي كنند.
2. Windows Application : برنامه هايي كه براي يك سستم طراحي شده و تك سيستمي هستند.
3. Web service
چند نمونه از زبان هاي برنامه نويسي تحت وب عبارتند از :
· Html
· Xml
· Xhtml
· Javascript و .....
خب حالا چند تعريف رو با هم مرور مي كنيم:
a) Client (خدمت گيرنده): كامپيوترهاي خانگي يا كامپيوترهايي هستند كه از برنامه ها و اطلاعات روي Server (خدمت دهنده)، استفاده مي كنند.
b) قرارداد http: (Hayper Text Transport Protocol)
قرارداد ارتباط برقرار كردن فرا متن (ابر متن) كه از ايندكس گذاري يا همان لينك كردن استفاده مي كند.
c) ايندكس گذاري( لينك كردن) : توضيح يك كلمه از متن در يك متن ديگر، درست مثل پيوست دادن.
d) IIS ( Internet Information Service): يا سرويس اطلاعات اينترنت، كار خدمات رساني را روي وب سرور انجام مي دهد.
در حقيقت ما با تايپ" آدرس سايتhttp:// " يك Request (درخواست ) به سرور ارسال مي كنيم، كه اين درخواست توسط IIS بررسي مي شود.
*نكته: در كلاينت براي ديدن سايت بايد مرورگر وب (WebBrowser) وجود داشته باشه، مثل Internet Explorer(IE) و ....
و در وب سرور هم نياز به IIS است كه نقش واسط رو انجام ميده.*
پس ما براي اينكه بتونيم كامپيوترمونو به يك Web server تبديل كنيم، نياز داريم تا IIS رو نصب كنيم كه ميشه با قرار دادن CD ويندوز و دنبال كردن مسير زير اون رو به راحتي نصب كرد:
سپس با تيك زدن گزينه Internet Information Service(IIS) و دنبال كردن مسير، كار تمام مي شود.
ادامه دارد.....
نوشته شده توسط a.karami در شنبه بیست و ششم اسفند 1385
لينك مطلب
تبریک سال جدید ( )
دوستان عزيز سلام
قبل از هر چيز فرا رسيدن سال جديد رو به همه شما دوستان تبريك مي گم و اميدوارم كه سالي پر از موفقيت و سلامتي داشته باشين.
از اينكه بعد از مدتها دوباره فرصت كردم كه وبلاگمو Update كنم خيلي خوشحالم.
از اين به بعد بنابر تقاضاي چند تا از دوستان تصميم گرفتم اول مقدماتي از HTML و JavaScript رو براتون توي وبلاگ قرار بدم. راستي به تازگي توي يه سايت عضو شدم كه سايت انجمن متخصصان ايران است. به نظر من سايت خوب و مفيدي مي تونه براي اهلش باشه. شما مي تونيد از طريق اين لینک در سايت انجمن متخصصان ايران عضو بشين اميدوارم كه به دردتون بخوره.
**همچنين من تصميم دارم كه با همكاري چند تن از شما يه گروه راه اندازي كنم كه بتونيم با هم به صورت مجازي كار كنيم و در حقيقت يه شركت مجازي (در زمينه نرم افزار طراحي وب سايت و ...) بزنيم. از علاقهمندان به همكاري خواهشمندم كه از طريق قسمت نظرات و يا از طريق ميل با من مكاتبه داشته باشند.**
با تشكر از توجه شما عزيزان و با آرزوي سالي خوش براي يكايك شما
نوشته شده توسط a.karami در جمعه بیست و پنجم اسفند 1385
اعتبار سنجی اطلاعات (قسمت پنجم) ( )
«جلسه پنجم»
در این جلسه قصد دارم که مبحث کنترل های اعتبار سنجی رو جمع بندی کنم.
کنترل ValidationSummary :
این کنترل وظیفه جمع بندی خطاها رو بر عهده داره بدین معنا که با این کنترل میتونیم تموم خطاهای رخ داده در فرم رو یکجا و با هم به کاربر نشان دهیم.
برخی از خصوصیات این کنترل عبارتند از:
کد زیر یک جمع بندی روی کنترل های اعتبار سنجی رو نمایش میده. در این مثال شما می تونید نحوه استفاده از ValidationSummary رو مشاهده کنید:
ValidationSummary.aspx
<html>
<body>
<form runat=”server”>
<table dir="rtl" align="center”>
<TR>
<TD style="FONT-SIZE: large; COLOR: black; FONT-FAMILY: '2 Kamran'" vAlign="top" align="right">
<LABEL style="FONT-WEIGHT: bold; FONT-SIZE: medium; COLOR: red;
FONT-FAMILY: Tahoma">*</LABEL>
نام کاربری:
<asp:TextBox id="txtusername" Runat="server">
</asp:TextBox></TD>
<TD>
<asp:RequiredFieldValidator id="RequiredFieldValidator1" Runat="server" Display="Dynamic"
ErrorMessage=”نام کاربری”
ControlToValidate="txtusername” >نام کاربری را وارد
</ asp:RequiredFieldValidator></TD>
<td rowspan="15" valign="top" align="left">
<asp:ValidationSummary id="ValidationSummary1"
HeaderText=در فیلد های زیر مشکلی وجود دارد!" “ runat="server" DisplayMode="BulletList" ShowMessageBox="true" ShowSummary="false"></asp:ValidationSummary></td>
</TR>
.
.
.
در این کد با قرار دادن مقدار true برای ShowSummary می تونید جمع بندی خطاها رو در داخل صفحه هم به کاربر نشان دهید. کد فوق قسمتی از کد است ، برای دریافت کد کامل بر روی این لینک کلیک کنید.
نوشته شده توسط a.karami در سه شنبه بیست و هفتم تیر 1385
میلاد حضرت فاطه(س) ( )
با سلام به تمام دوستان عزیز
قبل از هر چیز جا داره تبریک بگم سالروز میلاد با سعادت بانوی دو عالم ،حضرت فاطمه(س) و هفته زن و روز مادر رو به همه شما عزیزان و به خصوص همه مادرای خوب و مهربون مثل مادر خودم.
این مناسبت بهانه ای شد تا من تصمیم بگیرم تند تند Update کنم ، به هر حال دیگه نمیشه برای دیر به دیر Update کردن بهانه امتحان و پروژه های درسی رو آورد.هر چند که من هنوز چند تا پروژه نیمه تموم رو دستم مونده، اما واقعاً میخوام و سعی میکنم مطالب بهتر و مفید تری رو زود به زود روی وبلاگم قرار بدم، امیدوارم که با یاری خدا و همراهی شما بتونم به این هدفم برسم ، پس منو با نظرات سازندتون همراهی و Support کنید.
از همه شمایی که لطف میکنین، نظر میدین، میل می نین و منو همراهی میکنین، سپاسگزارم.
**زندگی به مفهوم «بودن» نیست به مفهوم «شدن» است.
اگه باشی و بودنت مساوی باشه با یه آلاینده محیط زیست ، نه تنها زیبا نیست که...
اما اگه باشی و بودنت مساوی باشه با آدم شدن،
مساوی باشه با حل مشکلات دیگران،
مساوی باشه با خندیدن همراه خنده هاشون و گریستن همراه گریه هاشون
و ریاضی زندگیت آئینه باشه برای دیدن دیگران ،
آنوقت میشه گفت که خدا ازت راضیه و اون چیزیه که اهل بهشت حسرت داشتنش رو دارن.**
با آرزوی موفقیت تک تک شما عزیزان.
نوشته شده توسط a.karami در دوشنبه بیست و ششم تیر 1385
تشکر ( )
با سلام به همه خوانندگان
امروز میخوام از تموم کسانی که لطف کردن و با وجود اینکه این وبلاگ آنچنان هم Update نیست نظر دادن تشکر کنم .
همچنین تشکر مخصوص دارم از حامد س که لطف کرده و تموم مطالبو با دقت خونده، البته باید بگم ذکر منابع اصولا جایگاهی در آخر مطالب داره و من هنوز مطالب مورد نظرم تموم نشده تا بخوام که منابعشو بگم ولی چشم .
و یه تشکر دیگه هم دارم از آقا حمید که ایده ی جالبی رو به فکرم انداخته ، من تصمیم گرفتم علاوه بر آموزشهای کلی یه سری پروژه هایی رو که شما میخواین و پروژه های جالب رو روی وبلاگم بزارم (به همراه لینک دانلود کد و طرز استفاده از اون) البته اگه شما منو با نظراتتون همراهی کنید.
امیدوارم از اینکه وبلاگم به روز نیست منو ببخشید_ دیگه گرفتاری و هزار جور درد سر، پروژه ها و..._ به هر حال بخشش از بزرگانه(باورم کن که جوونم (و تازه کار) اگه غرق اشتباهم).
با تشکر مجدد و موفق باشید.
نوشته شده توسط a.karami در جمعه پنجم خرداد 1385
اعتبار سنجی اطلاعات (قسمت چهارم) ( )
«جلسه چهارم»
کنترل CompareValidation:
این کنترل برای مقایسه اطلاعات وارد شده در یک فیلد با مقداری دیگر به کار برده میشه که این مقدار میتونه یه مقدار ثابت و مشخص، یا مقداری باشه که در فیلد دیگری وارد شده است.
این کنترل علاوه بر خصوصیات مشترک بین Validation کنترل ها خصوصیات دیگه ای از جمله :
Control To Compare ، Operator ، Type و Value To Compare رو نیز داره که به شرح مختصری از اون ها می پردازم.
1. Control To Compare: اگه ما خواسته باشیم که مقدار فیلد مورد سنجش رو با مقدار یه کنترل دیگه مقایسه کنیم مقدار این خصوصیت رو برابر با ID اون کنترل قرار میدیم.
2. Operator: این خصوصیت عملگری رو مشخص میکنه که برای مقایسه به کار میره ،مثل مساوی، نامساوی، بزرگتر و....
3. Type: این خصوصیت نوع داده ای مقادیری که قصد مقایسه اونها رو داریم مشخص میکنه، مثل: رشته، عدد، تاریخ و....
4. Value to Compare: اگه بخوایم محتوای فیلد مورد نظر رو با یه مقدار ثابتی مقایسه کنیم ،اون مقدار ثابت رو به این خصوصیت میدیم.
یه نمونه پر استفاده از این کنترل ،همون طور که در فرم های عضویت هم دیدین هنگام گرفتن رمز عبور و تکرار اون از کاربر ه. بدین صورت که مقادیر این دو فیلد با هم مقایسه شده و در صورت برابر بودن فرم به سرور تسلیم میشه، البته علت این مقایسه اینه که ممکنه کاربر اشتباهاً یه حرف از رمز عبورشو نادرست وارد کنه و چون رمز عبور با دایره یا ستاره نشون داده میشه کاربر متوجه اشتباهش نمیشه، بنابراین از کاربر تکرار رمز عبور نیز گرفته میشه ه در این صورت اگه کاربر رمزش رو اشتباه وارد کنه و مقادیر این دو فیلد یکسان نباشه به کاربر توسط کنترل CompareValidator اطلاع داده میشه و کاربر میتونه رمز مد نظرش رو صحیح وارد کنه.
برای مقایسه دو فیلد رمز عبور باید خصوصیات ControlToValidate ، ControlToCompare ، Operator و Type رو که قبل گفتم مقداردهی و تنظیم کنیم.که طرز استفاده از اون ها رو در کد زیر بهتون نشون میدم.
<script runat=”Server”>
Sub Button_Click(s As Object, e As EventArgs)
If IsValid Then
Response.Redirect( “ThankYou.aspx” )
End If
End Sub
</script>
<Html>
<Head><title>RequiredFieldValidator</title></Head>
<body>
<form runat=”Server”>
Username:
<br><asp:TextBox ID=”txtusername” runat=”Server” />
<asp:RequiredFieldValidator
ControlToValidate=”txtusername”
Text=”You must enter a Username!”
Runat=”Server” />
<p>
Password:
<br><asp:TextBox ID=”txtpassword” TextMode=”Password” runat=”Server” />
<asp:RequiredFieldValidator
Display=”Dynamic”
ControlToValidate=”txtpassword”
Text=”You must enter a Password!”
Runat=”Server” />
<asp:RegularExpressionValidator
Display=”Dynamic”
ControlToValidate=”txtpassword”
Text=”Your password must contain between 6 and 20 characters!”
ValidationExpression=”\w{6,20}”
Runat=”Server” />
</p>
<p>
Confirm Password:
<br><asp:TextBox ID=”txtconfirmpassword” TextMode=”Password” runat=”Server” />
<asp:RequiredFieldValidator
Display=”Dynamic”
ControlToValidate=”txtconfirmpassword”
Text=”You must enter Password again to confirm!”
Runat=”Server” />
<asp:CompareValidator
Display=”Dynamic”
ControlToValidate=”txtconfirmpassword”
ControlToCompare=”txtpassword”
Text=”Your password must be Equal to confirm password!”
Operator=”Equal”
Type=”String”
Runat=”Server” />
</p>
<p>
<asp:Button Text=”Submit”
OnClick=”Button_Click”
Runat=”Server” />
</form>
</body></html>
*نکته:
همون طور که در کد فوق می بینید ما میتونیم برای یه فیلد از چندین اعتبار سنج استفاده کنیم.*
بررسی نوع داده ای :
یک دیگه از استفاده های مهم این کنترل اینه که میشه با این کنترل و استفاده از خصوصیت Operator این کنترل چک کنیم که کاربر در فیلد های مورد نظر اطلاعاتی با نوع داده ای که ما میخوایم رو وارد کنه ، مثلا نوع داده ای برای تاریخ تولد از نوع Date ، برای اسم کاربری از نوع رشته (string) و... است.
برای این کار همونطور که در کد زیر می بینین مقدار خصوصیت Operator رو برابر با DataTypeCheck قرار میدیم و مقدار خصوصیت Type رو نوع داده ایی که مد نظرمون هست رو قرار میدیم.
مثلا در کد زیر کاربر حتما باید تاریخ تولدشو به طور صحیح و از نوع Date وارد کنه .
*نکته :
البته باید در نظر گرفت که نوع داده ای date تنها تاریخ میلادی رو قبول داره نه تاریخ شمسی رو.*
<script runat=”Server”>
Sub Button_Click(s As Object, e As EventArgs)
If IsValid Then
Response.Redirect( “ThankYou.aspx” )
End If
End Sub
</script>
<Html>
<Head><title>RequiredFieldValidator</title></Head>
<body>
<form runat=”Server”>
Enter Your Brirth Date:
<br><asp:TextBox ID=”txtBirthDate” runat=”Server” />
<asp:CompareValidator
ControlToValidate=”txtBirthDate”
Text=”Invalid birth date!”
Operator=”DataTypeCheck”
Type=”Date”
Runat=”Server” />
</p>
<p>
<asp:Button Text=”Submit”
OnClick=”Button_Click”
Runat=”Server” />
</form>
</body></html>
در کد فوق اگه تاریخ نا معتبری در فیلد txtBirthDate وارد بشه پیغام خطایی توسط اعتبار سنج نشون داده میشه .
خوب امیدوارم که تا اینجا مطالب براتون مفید بوده باشه، در قسمت بعد قصد دارم که در رابطه با Validation Summary و طرز استفاده از اون رو براتون بنویسم و مبحث Validation کنترل ها رو تموم کنم. لطفاً منو با پیشنهادات و نظراتتون همراهی کنید.
نوشته شده توسط a.karami در جمعه هشتم اردیبهشت 1385
اعتبار سنجی اطلاعات (قسمت سوم) ( )
«جلسه سوم»
کنترل RegularExpressionValidator :
در جلسات قبل گفتم که این کنترل برای اعتیار سنجی عبارات داخل کنترل های ورودی به کار برده میشه.
این کنترل غیر از خصوصیات مشترکی که با دیگر اعتبار سنجها داره شامل خصوصیت دیگه ای به نام ValidationExpression نیز هست که Regular Expression مورد استفاده برای سنجش اعتبار رو مشخص میکنه، که معنا وعملکرد این Regular Expression در جاوا اسکریپت و فریم ورک دات نت متفاوت است.
این کنترل هیچ الزامی رو جهت پر کردن فیلد به کاربر تحمیل نمیکنهولی در صورتی که کاربر فیلد رو پر کنه و با Regular Expression داده شده مطابقت نداشته باشه پیغام خطا ظاهر میشه.
من در این جلسه میخوام چند نمونه از استفاده های این کنترل رو براتون مثال بزنم.
*نکته:
در مورد این کنترل باید در نظر داشت که نوشتن یک Regular Expression استاندارد کار همچین ساده ای هم نیست.*
اعتبار سنجی آدرس های Email :
یکی از رایجترین و دشوارترین اعتبار سنجی ها زمانیست که بخوایم یه آدرس email رو بسنجیم چون استاندارد سنجش ایمیل چیز پیچیده ایست.
مثلا با استفاده از Regular Expression زیر میتونیم چک کنیم که آدرس با یک یا چند کاراکتر غیر space شروع بشه و بعد یک علامت @ ، پس از اون یک یا چند کاراکتر غیر space و بعد یک نقطه و در آخر هم یک یا چند کاراکتر غیر space بیاد.
\s+@\s+\.\s
(برای اینکه استفاده از کاراکتر space نیز مجاز باشه به جای حرف S در Regular Expression فوق میتونیم حرف W رو قرار بدیم)
اعتبار سنجی اسم کاربر و رمز عبور :
در بسیاری از وب سایتها اسم کاربری ورمز عبوری مورد قبوله که حاوی کاراکتر های کلمه ای باشه.
(کاراکتر کلمه ای میتونه حرفی از حروف الفبا، یک عدد یا Underscore باشه.)
برای اعمال چنین قانونی میتونیم از Regular Expression زیر استفاده کنیم:
\w
Regular Expression فوق با عبارتی مطابقت میکنه که دارای یک یا چند کاراکتر کلمه ای باشه.
همچنین برای تعیین حداقل و حداکثر طول برای مقادیری مثل رمز عبور میتونیم از چنین Regular Expression استفاده کنیم.
\w{6, 20}
اعتبار سنجی شماره تلفن:
سنجش اعتبار شماره های تلفن کار آسونی نیست مخصوصا اگه بخوایم که کد های خارج و تلفن های داخلی رو هم در نظر بگیریم. در هر صوزت حتی خود شماره تلفن ها هم دارای فرمت های مختلف و زیادی هستن، مثلا Regular Expression زیر رو در نظر بگیرید:
\(?\s*\d{3}\s*[\)\.\-]?\s*\d{3}\s*[\-\.]?\s\d{4}
این Regular Expression میتونه با سه فرمت
(555) 555-5555
555.555.5555
555 555 5555
مطابقت داشته باشه، طرز استفاده از Regular Expression فوق رو میتونید در کد زیر مشاهده منید.
<script runat="Server">
Sub Button_Click(s As Object, e As EventArgs)
If IsValid Then
Response.Redirect("ThankYou.aspx" )
End If
End Sub
</script>
<Html>
<Head><title>RegularExpressionValidator</title></Head>
<body>
<form runat="Server">
Phone Number:
<br><asp:TextBox ID="txtPhone" runat="Server" />
<asp: RegularExpressionValidator
ControlToValidate="txtPhone"
Text="Invalid Phone Number!"
ValidationExpression="\(?\s*\d{3}\s*[\)\.\-]?\s*\d{3}\s*[\-\.]?\s*\d{4}"
Runat="Server" />
<p>
<asp:Button Text="Submit"
OnClick="Button_Click"
Runat="Server" />
</form>
</body></html>
همچنین ما میتونیم روی چیزهای دیگه از جمله آدرس وب ، کد پستی و ... نیز یک Regular ExpressionValidation قرار بدیم که من سعی میکنم در انتهای مبحثValidation کنترل ها استفاده از کنترل Regular ExpressionValidation رو در یه فرم Asp.net قرار بدم تا شما بتونید دانلود کنید و از اون استفاده کنید.
*نکته :
همون طور که متوجه هم شدین ما میتونیم برای کاراکترهای غیر از space از \s
برای کاراکترهای کلمه ای از \w
برای قرار دادن یک محدوده حداقل و حداکثر برای طول اطلاعات وارد شده از {min, max}
و برای کاراکترهای عددی هم از \d
استفاده کنیم.*
نوشته شده توسط a.karami در دوشنبه بیست و یکم فروردین 1385
اعتبار سنجی اطلاعات (قسمت دوم) ( )
«جلسه دوم»
سلام
در این جلسه قصد دارم در مورد RequiredFieldValidator بحث کنم.
قبل از اینکه بخوام در مورد هر کدوم از Validation کنترل ها صحبت کنم بهتر دیدم که اول بعضی از خصوصیات مشترک اون ها رو براتون بگم.
1. Control To Validate: در این خصوصیت ID کنترلی که قصد سنجش اعتبار اون رو داریم وارد میکنیم.
2. ِDisplay : این خصوصیت نحوه نمایش پیامی رو مشخص میکنه که در خصوصیت Text این کنترل ها ذکر شده، در واقع اگه این خصوصیت برابر مقدار Static باشه قبل از نمایش پیام هم در هنگام اجرای برنامه برای آن پیام فضا گرفته می شه و اگه برابر مقدار Dynamic باشه در هنگام نمایش پیام به علت نگرفتن فضا از قبل دیگر کنترل ها رو هل داده و پیام رو نمایش میده.
3. Enable Client Script: این خصوصیت اعتبار سنجی طرف کلاینت رو فعال یا غیر فعال میکنه.
4. Error Message : این خصوصیت پیام خطایی رو مشخص میکنه که در کنترل ValidationSummary ظاهر میشه * نکته:« این پیام خطا در صورتی که ما از Validation Summary استفاده نکنیم زمانی توسط کنترل مزبور نمایش داده میشه که خصوصیت Text این کنترل خالی باشه»*
5. Initial Value: در این خصوصیت مقدار اولیه کنترلی که در خصوصیت Control To Validate ذکر شده رو میتونیم مشخص کنیم.
6. Isvalid: اگه اعتبار سنجی نتیجه مثبت داشته باشه مقدار این خصوصیت برابر با True خواهد بود.
7. Text: در این خصوصیت پیام خطایی که توسط کنترل به نمایش در میاد نوشته میشه.
خوب اینم بعضی از خصوصیات مشترک بین Validation کنترل ها.
کنترل RequiredFieldValidator :
همون طور که قبلا گفتم این کنترل الزامی کردن فیلد ها رو باعث میش، یعنی با استفاده از اون چک میکنیم که آیا کاربر برای فیلد الزامی ما مقداری وارد کرده یا نه.
اغلب این کنترل برای تکست باکس ها به کار برده میشه ولی ما میتونیم این اعتبار سنج رو روی دیگر کنترل های ورودی به کار بریم.
در کد زیر دو تکست باکس به نام های Txtusername و Txtpassword داریم و برای هر کدوم یه کنترل RequiredFieldValidator اختصاص دادیم، در صورتی که هر کدوم از اونها در هنگام ارسال فرم خالی باشن کنترل اعتبار سنج مربوطه پیام خطایی رو نشون داده و خصوصیت Isvalid مقدار False رو بر می گردونه، در غیر این صورت ساب روتین button_Click به طور خودکار کاربر رو به صفحه ای که میخوایم هدایت میکنه.
<script runat="Server">
Sub Button_Click(s As Object, e As EventArgs)
If IsValid Then
Response.Redirect( "ThankYou.aspx" )
End If
End Sub
</script>
<Html>
<Head><title>RequiredFieldValidator</title></Head>
<body>
<form runat="Server">
Username:
<br><asp:TextBox ID="txtusername" runat="Server" />
<asp:RequiredFieldValidator
ControlToValidate="txtusername"
Text="You must enter a Username!"
Runat="Server" />
<p>
Password:
<br><asp:TextBox ID="txtpassword" TextMode="Password" runat="Server" />
<asp:RequiredFieldValidator
ControlToValidate="txtpassword"
Text="You must enter a Password!"
Runat="Server" />
</p>
<p>
<asp:Button Text="Submit"
OnClick="Button_Click"
Runat="Server" />
</form>
</body></html>
در ضمن این کنترل یه کاربرد خوب دیگه هم داره و اون اینه که میتونیم مقدار یک فیلد رو بررسی کنیم و ببینیم آیا کاربر مقدار متفاوتی رو نسبت به مقدار اولیه فیلد وارد کرده یا نه.
گاهی وقتا برای اینکه کاربر متوجه بشه چه نوع اطلاعاتی رو باید وارد فیلد بکنه، مقداری رو به عنوان نمونه از طریق اون فیلد به کاربر نشون میدیم ولی توقع داریم کاربر مقدار واقعی خودشو وارد کنه .
در کد زیر طرز استفاده از Initial Value رو در RequiredFieldValidator مشاهده خواهید کرد.
<script runat="Server">
Sub Button_Click(s As Object, e As EventArgs)
If IsValid Then
Response.Redirect("ThankYou.aspx")
End If
End Sub
</script>
<Html>
<Head><title>RequiredFieldValidatorInitialValue</title></Head>
<body>
<form runat="Server">
Comments:
<br>
<asp:TextBox
ID="xtcomments"
TextMode="ultiLine"
Text="Enter Some Text"
runat="Server" />
<asp:RequiredFieldValidator
ControlToValidate="txtcomments"
Text="You must enter some comments!"
InitialValue="Enter Some Text"
Runat="Server" />
</p>
<p>
<asp:Button Text="Submit"
OnClick="Button_Click"
Runat="Server" />
</form>
</body></html>
در این کد وقتی فرم مربوطه برای اولین بار درخواست میشه عبارت Enter Some Text در کنترل تکست باکس ظاهر میشه و اگه بخوایم که این فرم رو بدون تغییر دادن این مقدار به سرور تسلیم کنیم پیغام خطایی در صفحه ظاهر میشه.
کد مربوط به این بخش رو میتونید ازاینجادانلود کنید.
نوشته شده توسط a.karami در سه شنبه هشتم فروردین 1385
اعتبار سنجی اطلاعات (قسمت اول) ( )
«جلسه اول»
با سلام به کاربران عزیز
امروز خیلی خوشحالم چون بعد از مدتی وقت پیدا کردم تا وبلاگمو Update کنم . امیدوارم از مباحث قبلی استفاده های لازمو برده باشین.
حتما تا به حال در یکی از سایتها عضو شدین و یا اینکه برای خودتون یه میل ساختین ، همونطور که دیدین در قسمت پر کردن فرم ها در کنار بعضی از فیلدها یه علامت * زده شده که به کاربر اطلاع داده میشه تا این فیلدهای ستاره دار رو حتما پر کنه ، یا در قسمت وارد کردن رمز عبور از شما تکرار رمز عبور نیز خواسته شده که در صورت یکسان نبودن این دو فیلد به شما پیغام خطا داده میشه و یا اینکه از شما خواسته میشه آدرس پست الکترونیکی خودتون رو حتما طبق استاندارد وارد کنید و ....که همه آنها نشون دهنده سنجش اعتبار اطلاعاتی است که توسط کاربر وارد میشه.
در این بخش میخوام شما رو با کنترل های مخصوص اعتبار سنجی (Validation) و طرز استفاده از اون ها برای سنجش اعتبار اطلاعات آشنا کنم پس با من تا پایان این مبحث همراه باشید.
توسعه دهندگان وب وقتی به مرحله تبیین اعتبار سنجی در صفحات خود می رسند یه انتخاب پیش رو دارن: اینکه روتین های اعتبار سنجی رو به کد طرف سرور اضافه کنند یا کد طرف کلاینت؟
مزیت نوشتن این روتین ها در کد طرف کلاینت اینه که در پاسخ به عملکرد کاربر میتونیم بلافاصله عکس العمل نشون بدیم، مثلا اگه کاربر فراموش کنه مداری رو در یک فیلد الزامی وارد کنه میشه بدون مراجعه به سرور و برگشت از اون یه پیغام خطا به وی نشون داد.
از نظر کاربر هم اعتبار سنجی طرف کلاینت مطلوبتره چون تکلیف کاربر رو زودتر مشخص میکنه، ولی مسئله اینجاست که نمیشه در همه مرورگر ها از ان روش استفاده کرد چرا که نسخه های مختلف مرورگرها از نسخه های مختلف جاوا اسکریپت حمایت می کنند و نتیجه اینکه هیچ تضمینی در کارکرد اعتبار سنجی طرف کلاینت وجود نداره.
به همین دلیل خیلی از توسعه دهندگان ترجیح می دادن تمام منطق اعتبار سنجی خودشونو در کر طرف سرور شامل کنند. از آنجا که کد طرف سرور با هر مرورگری درست عمل میکنه،این کار مطمئن تر بود.
اما خوشبختانه Validation کنترل ها به خودکار هم کد طرف سرور رو تولید میکنن و هم کد طرف کلاینت را.
اگه مرورگر قادر به کار با جاوا اسکریپت باشه منطق اعتبار سنجی طرف کلاینت به طور خودکار به مرورگر فرستاده میشه و چنانچه مرورگر جاوا اسکریپت رو حمایت نکنه (مثل مرورگر Netscape Navigator )، روتینهای اعتبار سنجی به طور خودکار در کد طرف سرور پیاده سازی میشن.
انواع Validation کنترل ها :
خوب اینم انواع Validation کنترل ها که براتون معرفی کردم.
در جلسات بعد میخوام به بررسی چندتا از اون ها بپردازم، با من همراه باشید.
نوشته شده توسط a.karami در چهارشنبه هفدهم اسفند 1384
برخی از کنترل های وب سرور ( )
«جلسه پنجم»
کنترل DropDownList :
این کنترل کاملاً شبیه به RadioButtonList است با این تفاوت که جای کمتری را روی صفحه اشغال می کند. بنابراین، DropDownList هم برای ارائه چند گزینه بکار می رود که از میان آن ها فقط یکی را می توان انتخاب کرد، منتها بر خلاف RadioButtonList این گزینه ها در یک باکس تک خطی باز شدنی به نمایش گذاشته می شوند.
برای افزودن گزینه ها در DropDownList سه راه پیش رو داریم:
1. معرفی گزینه ها به هنگام تعریف کنترل
2. افزودن مستقیم آیتم ها به کلکسیون Items
3. مقید کردن کنترل به یک منبع داده ای
*به دلیل اینکه کنترل های DropDownList ، CheckBoxList و RadioButtonList تقریباً شبیه هم هستند از دادن توضیحاتی در مورد چگونگی افزودن گزینه ها و شناسایی آیتم انتخاب شده در DropDownList صرفه نظر می کنم.*
تعیین مقدار و متن متفاوت برای یک DropDownList :
فرض کنید بخواهیم با استفاده از یک DropDownList یک سری گزینه مثلاً رنگ های مختلف را نمایش بدهیم و فرض کنید بخواهیم هنگام انتخاب یک گزینه ID آن را به دست بیاوریم نه اسم کامل آن رنگ را. برای این منظور، از خصوصیت Value در این کنترل استفاده می کنیم.
مثلاً در هنگامی که با یک منبع داده ای سروکار داریم و بخواهیم مقدار Text با Value متفاوت باشد، باید از خصوصیت DataTextField و DataValueField استفاده کنیم.
برنامه زیر با استفاده از خصوصیات فوق و همچنین خصوصیت AutoPostBack کد رنگی را که کاربر انتخاب کرده است نمایش می دهد.
DropDownListDataValue.aspx
<script runat="server">
Public Class Color
Private _strColorName,_strColorCode As String
Sub New(strColorName As String, strColorCode As String )
_strColorName = strColorName
_strColorCode = strColorCode
End Sub
Public ReadOnly Property ColorName As string
Get
Return _strColorName
End Get
End Property
Public ReadOnly Property ColorCode As string
Get
Return _strColorCode
End Get
End Property
End Class
Sub Page_Load
Dim colColors as New ArrayList
If Not IsPostBack Then
colColors.Add( New Color( "Red", "F70505" ) )
colColors.Add( New Color( "Blue", "0905FA" ) )
colColors.Add( New Color( "Black", "000000" ) )
DropColors.DataSource = colColors
DropColors.DataTextField = "ColorName"
DropColors.DataValueField = "ColorCode"
DropColors.DataBind()
lblMessage.Text=DropColors.SelectedItem.Value
End If
End Sub
Sub DropColors_SelectedIndexChanged( s As Object, e As EventArgs )
lblMessage.Text=DropColors.SelectedItem.Value
End Sub
</script>
<html>
<head><title>DropDownListDataValue</title></head>
<body>
<form runat="server">
<asp:DropDownList
Id="DropColors"
AutoPostBack="True"
OnSelectedIndexChanged="DropColors_SelectedIndexChanged"
Runat="server"/><hr>
<span>DropDownList value is :</span>
<asp:Label
Id="lblMessage"
Runat="server"/>
<form>
</body></html>
برای دریافت کد برنامه اینجا کلیک کنید
به پایان آمد این دفتر حکایت همچنان باقیست
نوشته شده توسط a.karami در یکشنبه بیست و سوم بهمن 1384
برخی از کنترل های وب سرور ( )
«جلسه چهارم»
کنترل های CheckBox و CheckBoxList :
با استفاده از چک باکس گزینه هایی را به صورت «بلی»/«خیر» یا Yes/No نمایش می دهند. اگر چند چک باکس را با یکدیگر دسته بندی کنیم، می توانیم مجموعه ای را در اختیار کاربر قرار بدهیم که بر خلاف دکمه های رادیویی، چند انتخابی است.
دو کنترلی که در صفحات Asp.net برای ارائه چک باکس به کار می روند CheckBox و CheckBoxList هستند.
کنترل CheckBox :
با استفاده از این کنترل می توانیم یک چک باکس تک انتخابی ساده را روی صفحات وب فرمی خود قرار دهیم.
کنترل CheckBoxList :
این کنترل هم مثل کنترل CheckBox برای نمایش گزینه های جک باکسی به کار می رود، ولی میتواند بیشتر از یک چک باکس را اداره کند. هر آیتم در این کنترل خود یک چک باکس است که می تواند علامت داشته باشد یا نداشته باشد.
برای افزودن چک باکس به این کنترل مثل RadioButtonList سه راه در اختیار داریم:
1. معرفی چک باکس ها در زمان اعلان کنترل
2. افزودن مستقیم آیتم ها به کلکسیون Items
3. مقید کردن کنترل به یک منبع داده ای
در مورد این سه راه در جلسه قبل توضیحاتی دادم که در اینجا از آن صرفه نظر می کنم.
شناسایی آیتم انتخاب شده در یک CheckBoxList :
*نکته:
«کنترل RadioButtonList هم مثل CheckBoxList دارای این دو خصوصیت می باشد، ولی با این تفاوت که در کنترل CheckBoxList می توانیم چند آیتم انتخاب شده داشته باشیم.»
برای گرفتن تمام آیتم های انتخاب شده در CheckBoxList ، باید خود کلکسیون Items را در یک حلقه مورد بررسی قرار بدهیم. به ازای هر آیتمی که در لیست وجود داشته باشد، خصوصیت Selected آن یا True است یا False .
کد زیر طریقه استفاده از این خصوصیت و تعیین آیتم های انتخاب شده در یک CheckBoxList را نشان می دهد.
CheckBoxListMultiSelect.aspx
<script Runat="server">
Sub Button_click( s As Object, e As EventArgs )
Dim itmColor As ListItem
Dim strList As String
For each itmColor in favoritColor.Items
If itmColor.Selected Then
strList &= "<li>" & itmColor.Text
End If
Next
lblSelected.Text = strList
End Sub
</script>
<html>
<head><title>CheckBoxListMultiSelect</title></head>
<body>
<form Runat="server">
<asp:CheckBoxList
ID="favoritColor"
Runat="server">
<asp:ListItem Text="Red" />
<asp:ListItem Text="Blue" Selected="True" />
<asp:ListItem Text="Yellow" />
</asp:CheckBoxList>
<p>
<asp:Button
Text="Submit !"
OnClick="Button_Click"
Runat="server" />
</p><hr>
You Picked:
<asp:Label
Id="lblSelected"
Runat="server" />
</form>
</body></html>
نوشته شده توسط a.karami در دوشنبه دهم بهمن 1384
برخی از کنترل های وب سرور ( )
«جلسه سوم»
با سلام
امیدوارم که دو جلسه قبلی مورد توجه شما کاربران قرار گرفته باشه.این جلسه قصد دارم در مورد کنترلهای رادیویی مطلبی بنویسم.
کنترل های رادیویی:
دکمه های رادیویی برای انتخاب یک گزینه از میان چند گزینه به کار می روند. وب کنترل هایی که دکمه های رادیویی را به یک صفحه اضافه می کنند عبارتند از RadioButton و RadioButtonList .
کنترل RadioButton :
با استفاده از این کنترل می توانیم دکمه های رادیویی را یکی پس از دیگری به صفحه اضافه کنیم . دکمه های رادیویی از طریق خصوصیت GroupName دسته بندی می شوند. در هر گروه ، فقط یکی از دکمه ها می تواند علامت داشته باشد.
کنترل RadioButtonList :
این کنترل هم مثل RadioButton دکمه های رادیویی را ارائه می دهد ولی به صورت لیستی. هر آیتم در این لیست خود یک دکمه رادیویی است.
اضافه کردن دکمه های رادیویی در یک کنترل RadioButtonList از سه راه امکان پذیر است:
· راه اول این است که دکمه های رادیویی را در هنگام اعلان کنترل RadioButtenList تعریف میکنیم.
<asp:RadioButtonList
Id="favoritColor"
Runat="server">
<asp:ListItem Value="Item1" Text="Red"/>
<asp:ListItem Value="Item1" Text="Blue" Selected="True"/>
<asp:ListItem Value="Item1" Text="Green"/></asp:RadioButton>
کد فوق دارای سه دکمه رادیویی است که گزینه Blue به صورت پیش فرض علامت زده شده است.
· راه دوم این است که آیتم ها را مستقیماً به کلکسیون Items (یکی از خصوصیات RadioButtonList ) اضافه کنیم.
RadioButtonList.aspx
<script Runat="server"
Sub Page_Load( S As Object, e As EventArgs)
favoritColor.Items.Add( "Red" )
favoritColor.Items.Add( "Blue" )
favoritColor.Items.Add( "Green" )
End Sub
</script>
<html>
<head><title>RadioButtonList</title></head>
<body>
<form Runat="server">
<asp:RadioButtonList
Id="favoritColor"
Runat="server" />
</form>
</body></html>
· راه سوم مقید(یا Bind ) کرون کنترل به یک منبع داده ای از قبیل جدولی در بانک اطلاعات یا کلکسیونی از قبل موجود است.
RadioButtonListDataBind.aspx
<script runat="server">
Sub Page_Load
Dim colArrayList As New ArrayList
colArrayList.Add( "Red" )
colArrayList.Add( "Blue" )
colArrayList.Add( "Green" )
favoritColor.DataSource=colArrayList
favoritColor.DataBind()
End Sub
</script>
<html>
<head><title>RadioButtonListDataBind</title></head>
<body>
<form Runat="server">
<asp:RadioButtonList
Id="favoritColor"
Runat="server" />
</form>
</body></html>
در کد فوق در ساب روتین Page_load لیستی به نام colArraylist از نوع ArrayList تعریف می شود.
ابتدا مقادیر Red ٬ Blue و Green به این آرایه اضافه می شوند و سپس ArrayList به خصوصیت DataSource کنترل RadioButtonList منسوب می گردد. با فراخوانی متد DataBind تمام آیتم های موجود در ArrayList به کلکسیون ListItemCollection منتقل می شوند.
نوشته شده توسط a.karami در دوشنبه دهم بهمن 1384
برخی از کنترل های وب سرور ( )
«جلسه دوم»
با سلام
موضوع این جلسه چگونگی استفاده از کنترل های ImageButton می باشد.
قبل از شروع بحث لازم است یادآوری کنم که دو آرگومان به اغلب ساب روتین هایی که از آنها استفاده می کنیم و برای پاسخ به واقعه ی کلیک یک دکمه به کار می روند پاس داده می شود.
آرگومان اول پاس شده «s As Object » نماینده شئی است که واقعه را حادث می شود. که پارامتر Object برای شناسایی شئی که واقعه را حادث کرده و تعیین پاسخ مناسب به آن قابل استفاده است
پارامتر دومی که پاس داده می شود، EventArgs « e As EventArgs » است که حاوی اطلاعاتی مربوط به خود واقعه است. مثلاً، در مورد کنترل Button ، این پارامتر هیچ محتوایی ندارد.
ولی کنترل ImageButton بک نمونه از آن کنترل هایی است که پارامتر EventArgs برای آن معنا پیدا می کند. وقتی روی چنین کنترلی کلیک می کنیم، پارامتر مزبور مختصات دقیق نقطه ای را به ما میدهد که کلیک روی آن نقطه صورت گرفته است.
کنترل ImageButton :
کنترل ImageButton شبیه به کنترل Button است با این تفاوت که این کنترل می تواند یک عکس یا تصویر را نیز نمایش بدهد.
*نکته :
دقت کنید که روتین اداره کنندۀ واقعه برای کنترل ImageButton به این شکل است:
Sub ImageButton_Click (S As Object , e As ImageClickEventArgs )
این کنترل از این جهت یک پارامتر ImageClickEventArgs را مورد استفاده قرار می دهد که هنگام کلیک روی یک دکمه تصویری، اطلاعاتی اضافی باید به ساب روتین اداره کننده واقعه پاس شود. وقتی روی چنین دکمه ای کلیک می کنیم، مختصات X و Y موس به ساب روتین داده می شود.
با توجه به این اطلاعات با استفاده از فقط یک کنترل ImageButton می توانیم کار چند دکمه را از آن بکشیم که تصویر یکسانی دارند. در واقع این دکمه ها را روی یک تصویر ساده ترسیم می کنیم و با بررسی خصوصیات X و Y پارامتر ImageClickEventArgs تشخیص میدهیم که کدام دکمه کلیک شده است.
کد زیر کد صفحه ای را نشان می دهد که با یک کنترل ImageButton، سه دکمه مختلف را پیاده سازی کرده است. وقتی روی یکی از این دکمه ها کلیک کنیم، ساب روتین ImageButton_Click به اجرا در می آید.خصوصیت x پارامتر ImageClickEventArgs تعیین کننده دکمه ای است که واقعاً کلیک شده است.
<script Runat="server">
Sub ImageButton_Click( S As Object , e As ImageClickEventArgs)
Select Case e.X
Case Is < 124
lblMessage.Text = txtSomeText.Text.ToUpper()
Case Is < 248
lblMessage.Text = txtSomeText.Text.ToLower()
Case Is < 368
lblMessage.Text = txtSomeText.Text
Case Is < 400
lblMessage.Text = " "
End Select
End Sub
</script>
<html>
<head><title>ImageButtonEventArgs</title></head>
<body>
<form Runat="server">
<p>
<asp:ImageButton
OnClick="ImageButton_Click"
ImageUrl="1_03.gif"
Runat="server" />
</p>
<p>
<asp:
ID="txtSomeText"
TextMode="MultiLine"
Columns="30"
Rows="10"
Runat="server">Type Some Text Here!</asp:TextBox>
</p><hr>
<asp:Label
Id="lblMessage"
Runat="server" />
</form>
</body></html>
نوشته شده توسط a.karami در چهارشنبه پنجم بهمن 1384
مقدمه ای بر ASP.NET ( )
با سلام
امروز میخوام مقدمه ای از namespace,.netframework,asp.net رو براتون بنویسم
1_ مقدمه ای بر ASP.NET :
ASP.NET ,آخرین نسخه «صفحات فعال سرور» تکنولوژی پیشرفته ای از مایکروسافت است که برای ساخت وب سایت های پویا و مبتنی بر بانک اطلاعات ابداع شده است.
صفاحات فعال سرور یا همان ASP یکی از رایج ترین زبان ها برای ساخت وب سایت های ارتقا پذیر و تعاملی است. بسیاری از شلوغ ترین و پر بیننده ترین سایت های وب در اینترنت از ASP استفاده میکنند.
برخی از ویژگی های جدید ASP.NET عبارتنند از:
درواقع صفحات برنامه Asp.net از نوع Web Form Page هستند که کار هایی که اینگونه صفحات وب فرمی می توانند بکنند خیلی بیشتر از فقط نمایش فرم های اچ تی ام الی استاندارد است.
صفحات وب فرمی از به هم پیوستن دو جز به یکدیگر تشکیل می شوند:
نوشته شده توسط a.karami در پنجشنبه بیست و دوم دی 1384
افتتاحیه ( )
بسمه تعالی
با سلام به تمام دوستداران ASP.NET
هدف ما از ایجاد این وبلاگ آموزش ASP.NET و ارائه مثال هایی از آن میباشد
علاوه بر اینها ما قصد داریم تا شما را با دنیای زیبا و جذاب ساخت صفحات پویای وب با استفاده از
تکنولوژی ASP.NET وتکنولوژی های مرتبط با آن وهمچنین زبان های برنامه نویسی مثل VB.NET,
SQL Server آشنا کنیم.
امیدواریم ما را با نظرات , انتقادات و پیشنهادات سازنده ی خود یاری کنید.
با تشکر
نوشته شده توسط a.karami در جمعه شانزدهم دی 1384
مطالب پیشین
![]()
کپی برداری از مطالب وبلاگ فقط با ذکر منبع مجاز میباشد .
All Rights Reserved 2005-2006 © by
aspnetlearning.blogfa.com
The Template Designed By Loghman Avand @
www.irlearn.com