close
دانلود فیلم
آموزش VB.NET - بخش دوم

ساختارهای شرطی در Visual Basic.NET
در اين گفتار برآنيم تا ساختارهای شرطی در ويژوال بيسيک دات نت را بررسی کنيم. اين ساختارها If..Then و Select..Case می باشند .

ساختار If..Then
ابتدائی ترين ساختار شرطی در ويژوال بيسيک دات نت ساختار If..Then می باشد. با استفاده از اين ساختار هنگامی که شرط مورد نظر برقرار باشد، می توان دستور يا دستورات متعددی را اجرا نمود .



بعنوان مثال در برنامه زير اگر زمان سيستم بعد از ظهر را نشان دهد، جمله "Good Evening IranASP.NET" بر روی صفحه نمايش داده می شود .

<%
Dim myTime As DateTime
myTime = Now

if Hour(myTime) >= 12 then
Response.write ("Good Evening IranASP.NET !")
end if
%>

همچنين ساختار If..Then عبارت Else را هم پشتيبانی می کند. اگر شرط مربوط به If برقرار نباشد، دستورات موجود در قسمت Else اجرا می شوند. به مثال زير توجه فرمائيد .

<%
Dim myTime As DateTime
myTime = Now

if Hour(myTime) >= 12 then
Response.write ("Good Evening IranASP.NET !")
else
Response.write ("Good Morning IranASP.NET !")
end if
%>

 

ساختار Select..Case
در ساختار Select..Case می توان مقداری را با مقادير مختلفی مقايسه کرده و دستورات مربوط به مقدار يافت شده را اجرا نمود. بعنوان مثال قطعه برنامه زير پيامهای مختلفی را برحسب نوع مرورگر نمايش می دهد .

<%
Dim strBrowser As String

strBrowser = Request.Browser.Browser
Select Case strBrowser
Case "IE"
Response.Write( "You are using Internet Explorer!" )
Case "Netscape"
Response.WRite( "You are using Netscape!" )
Case Else
Response.Write( "What browser are you using?" )
End Select
%>

دقت داشته باشيد که ساختار Select..Case در برنامه فوق دارای يک قسمت Case Else می باشد. هرگاه هيچ يک از حالات مقايسه ای برقرار نبود، دستورات موجود در قسمت Case Else اجرا می گردند. استفاده از Case Else اختياری است .

متغيرهای ايستا در ASP.NET
در ASP همواره از شئ Application برای ذخيره متغيرهای سراسری استفاده می شد. اين عمل از لحاظ اختصاص فضای حافظه چندان مناسب نبود. در دات نت می توانيم با سود بردن از خواص متغيرهای ايستا در اکثر موارد نتيجه بهتری بدست آوريم. اين روش در اکثر موارد سريعتر از استفاده از شئ Application خواهد بود .
در دات نت اکثر اشياء به صورت کلاس در نظر گرفته می شوند که فايل global.asax نيز از اين قائده پيروی می کند. برای استفاده از اين روش در ابتدا بايد به اين فايل نام يک کلا س را اختصاص دهيم. دقت کنيد که هميشه سعی می کنيم در نامگذاری از اسامی که راهنمای ما باشند استفاده کنيم. برای مثال در اينجا از نام myglobal استفاده می کنيم. به منظور انجام اين کار از کد زير استفاده می شود .

< %@ Application Classname="MyGlobals" %>

سپس با استفاده از تگ Script متغيرهای خود را تعريف می نماييم. دقت کنيد که بايد از کلمات کليدی Public و Shared هم استفاده نماييد .

< Script language="vb" runat="server ">
Public Shared sAli as String = "This is just a test"
< /Script>

با کد بالا ما متغير خود را به نام sAli تعريف نموديم. حال با استفاده از نام کلاس و اين نام می توا نيم آن را در تمام صفحات خود به صورت مستقيم صدا کنيم .

x = MyGlobals.sAli

کدهای نمونه را می توانيد مشاهده کنيد .

< %@ Application Classname="MyGlobals" %>
< Script language="vb" runat="server" >
Public Shared sGreeting as String = " This is just a test"
< /Script >
< % @Page Language="VB" % >

< HEAD >
< script Language='vb' runat=server >
Private Sub Page_Load( ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles MyBase.Load
Label1.Text = MyGlobals.sGreeting
End Sub
< /script >
< /HEAD >

< asp:label runat=server id=Label1 >< /asp:label >
< / body>
< /HTML >

 

بررسی اعتبار داده ها توسط VB.NET در فرم های وب
فريم ورک دات نت ، شامل مجموعه ای از کنترل های لازم بمنظور بررسی اعتبار و صحت داده های ورودی است که با استفاده از آنان در فرم های وب و ASP.NET ، می توان داده ورودی توسط کاربر در هر يک از فيلدهای موجود بر روی يک فرم وب را بررسی و در صورت عدم رعايت شرايط لازم ، پيام خطاء مناسبی را ارائه نمود. در اين مقاله به تشريح نحوه استفاده از کنترل های صحت داده ، خواهيم پرداخت .

کنترل های سرويس دهنده اعتبار داده
کنترل های سرويس دهنده اعتبار داده ، امکان بررسی صحت داده مرتبط با يک کنترل سرويس دهنده ورودی نظير يک TextBox را فراهم و در صورتيکه ماحصل بررسی بعمل آمده ، مثبت نباشد ، يک پيام خطاء نمايش داده خواهد شد. هر يک از کنترل های اعتبار داده ، عمليات خاصی را در ارتباط با بررسی صحت داده ها انجام خواهند داد . مثلا" می توان با استفاده از CompareValidator ، عمليات بررسی صحت داده ها را در ارتباط با يک مقدار خاص انجام و يا با استفاده از کنترل RangeValidator يک محدوده قابل قبول از مقادير مورد نظر در ارتباط با يک فيلد ورود اطلاعات را انجام داد. در چنين مواردی ، حتی می توان با استفادده از کنترل CustomValidator ، شرايط خاص مورد نظر خود برای بررسی صحت داده ، تعريف و ايجاد نمود. با توجه به اينکه ، پيام خطاء در کنترل اعتبار داده نمايش داده می شود، می توان مکان مورد نظر برای نمايش پيام خطاء را نيز مشخص کرد . در اين راستا ، همچنين می توان با استفاده از کنترل ValidationSummery ، خلاصه ای از نتايج تمامی کنترل های بررسی صحت داده ها را نمايش داد .
عمليات بررسی صحت داده در يک صفحه زمانی محقق خواهد شد که يک کنترل Button نظير Button ، ImageButton و يا LinkButton کليک گردد . در اين رابطه می توان با مقدار دهی False به خصلت CausesValidation ، باعث ممانعت در رابطه با بررسی صحت داده گرديد . روش فوق ، در مواردی نظير فشردن يک دکمه Cancel و يا Clear استفاده می گردد ( در چنين مواردی عملا" ما قصد بررسی صحت داده را نخواهيم داشت ) . مقدار خصلت فوق ، بصورت پيش فرض در ارتباط با يک Button از نوع Cancel و يا Clear مقدار False در نظر گرفته خواهد شد .

در نمونه مثالی که در ادامه تشريح و به بررسی آن خواهيم پرداخت از چهار کنترل اعتبار داده استفاده شده است که لازم است در ابتدا مختصرا" با عملکرد هر يک از آنان آشنا شويم

RequiredFieldValidator کنترل فوق ، مقدار يک کنترل ورودی را بمنظور حصول اطمينان از درج داده در فيلد مورد نظر توسط کاربر ، بررسی می نمايد . در صورتيکه مقدار مشخص شده در فيلد مورد نظر نسبت به مقدار اوليه خود تغيير نکرده باشد ،بمنزله عدم صحت و اعتبار داده بوده و نشان دهنده اين موضوع است که کاربر در فيلد مربوطه داده مورد نظر را وارد ننموده است . در حقيقت در چنين شرايطی الزامی برای درج داده در ارتباط با يک کنترل ورودی بوجود آمده و کاربر نمی تواند فيلد مربوطه را بدون اعمال تغييرات ( درج داده ) رها نموده و نسبت به آن بی تفاوت باشد . مقدار پيش فرض، يک رشته خالی ( "" ) بوده و نشاندهنده اين واقعيت است که می بايست مقداری در آن درج تا در آزمون بررسی صحت داده موفقيت حاصل گردد . در اين رابطه فضاء خالی اضافه شده در ابتدا و انتهای کنترل ورودی حذف و در ادامه عمليات بررسی صحت داده انجام خواهد شد . بدين ترتيب از درج فضای خالی در کنترل ورودی برای بررسی صحت داده ممانعت بعمل می آيد . در برخی موارد لازم است که در مقابل مقدار پيش فرض (رشته خالی) برای يک کنترل ورودی از مقدار اوليه مورد نظر خود استفاده نمائيم ( با توجه به سياست های طراحی بخش رابط کاربر ) . استفاده از روش فوق ، در مواردیکه دارای يک مقدار پيش فرض در ارتباط با يک کنترل ورودی بوده و قصد داريم که کاربر را ملزم به انتخاب يک مقدار ديگر نمائيم ، توصيه می گردد . مثلا" می توان از يک کنترل ListBox بهمراه يک Entry انتخاب شده بصورت پيش فرض که شامل دستورالعمل هائی برای کاربر بمنظور انتخاب يک آيتم از ليست است ، استفاده نمود . در چنين مواردی لازم است که کاربر يک آيتم ديگر موجود در ليست را از طريق کنترل انتخاب و در اين رابطه نمی بايست کاربر آيتمی را انتخاب نمايد که شامل دستورالعمل است . بدين ترتيب در صورتيکه کاربر همان مقدار اوليه پيش فرض را انتخاب نمايد ، کنترل RequiredFieldValidator ، پيام خطاء مورد نظر خود را نمايش خواهد داد . بمنظور مشخص نمودن مقدار اوليه يک کنترل ورودی، می توان از خصلت InitialValue استفاده کرد .

با توجه به سياست های طراحی رابط کاربر ، می توان از چندين Validator در ارتباط با يک کنترل ورودی مشابه و يکسان استفاده نمود. مثلا " می توان از يک کنترل RequiredFieldValidator ، بمنظور حصول اطمينان از درج داده در کنترل مورد نظر استفاده و در همان حال از کنترل ديگری نظير RangeValidator نيز استفاده تا اين اطمينان ايجاد گردد که ورودی درج شده در کنترل مورد نظر در محدوده قابل قبول و مجاز می باشد .

کنترل  ValidationSummary کنترل فوق ، امکان ارائه اطلاعات مختصر در رابطه با تمامی کنترل های بررسی صحت داده موجود در يک صفحه وب و در يک موفقعيت ( مکان ) را فراهم می نمايد. خلاصه اطلاعات موردنظر را می توان با استفاده از روش های متفاوتی نظير : يک پاراگراف ، يک ليست و يا يک Bulleted list . ارائه نمود. نحوه نمايش اطلاعات با استفاده از خصلت DisplayMode مشخص خواهد شد .پيام خطاء نمايش داده شده در کنترل ValidationSummary برای هر يک از کنترل های بررسی صحت داده موجود در صفحه ، توسط خصلت ErrorMessage مربوط به هر يک از کنترل ها ، مشخص می گردد . در صورتيکه خصلت ErrorMessage مربوط به کنترل بررسی صحت داده ، مقداردهی نگردد، هيچگونه پيام خطائی در ارتباط با آن کنترل خاص توسط کنترل ValidationSummary نمايش داده نخواهد شد. برای مشخص نمودن عنوان گزارش خطاء، می توان از خصلت HeaderText استفاده کرد. بمنظور کنترل نمايش اطلاعات کنترل ValidationSummary ، می توان از خصلت ShowSummary استفاده نمود . برای نمايش خلاصه اطلاعات مورد نظر در يک Message Box می توان مقدار خصلت ShowMessageBox را True در نظر گرفت .

کنترل RegularExpressinoValidator کنترل فوق ، بمنظور تطبيق داده ورودی در يک کنترل ورودی با يک الگوی تعريف شده توسط يک عبارت ، استفاده می گردد . کنترل فوق ، امکان بررسی لازم در خصوص دنباله کاراکترهای مورد انتظار نظير آدرس های پست الکترونيکی ، شماره های تلفن و يا کد پستی را فراهم می نمايد . با استفاده از خصلت ValidationExpression ، عبارت مورد نظر بمنظور بررسی صحت داده کنترل ورودی، تعريف و مشخص می گردد . گرامر عبارت بررسی صحت داده بر روی سرويس گيرنده و سرويس دهنده با يکديگر متفاوت است . در سرويس گيرنده ، بمنظور مشخص نمودن عبارت مورد نظر از گرامر Jscript و بر روی سرويس دهنده از گرامر Regex استفاده می گردد . با توجه به اينکه، گرامرعبارات Jscript زير مجموعه ای از گرامر Regex می باشد ، توصيه می گردد از گرامر Jscript برای تعريف عبارت مورد نظر خود استفاده تا شاهد نتايج يکسانی بر روی سرويس گيرنده و سرويس دهنده باشيم .

کنترل CompareValidator کنترل فوق، مقدار ورودی در يک کنترل ورودی را با مقدار ديگر مقايسه می نمايد . از خصلت ControlToValidate برای مشخص نمودن کنترل ورودی اول و از خصلت ControlToCompare برای مشخص نمودن کنترل ورودی دوم که می بايست با يکديگر مقايسه گردند ، استفاده می شود .درصورتيکه ماحصل مقايسه يکسان باشد، از مقدار مشخص شده توسط خصلت ControlToCompare ، استفاده می گردد .

استفاده از کنترل های اعتبار داده ASP.NET توسط ويژوال استوديو دات نت
بررسی صحت داده ورودی توسط کاربر در بخش رابط کاربر هر نرم افزار ، از جمله عملياتی است که اولا" وقت زيادی را بخود اختصاص و ثانيا" در برخی موارد چالش های خاص خود را بدنبال خواهد داشت . فريمورک دات نت در اين رابطه مجموعه ای از کنترل های بررسی صحت داده را ارائه که با استفاده از آنان می توان اقدام به بررسی داده در کنترل های ورودی موجود بر روی يک فرم وب و ارائه پيام خطاء مورد نظر در صورت عدم رعايت ضوابط و شرايط موجود توسط کاربر بمنظور ورود اطلاعات نمود .
در ادامه به بررسی مثالی خواهيم پرداخت که با ارائه يک فرم از کاربر درخواست تکميل و ارسال اطلاعات خواهد شد. در اين رابطه از کاربر درخواست نام ، آدرس پست الکترونيکی و رمز عبور می گردد . پس از ارسال اطلاعات توسط کاربر ، کنترل های بررسی صحت و اعتبار داده موجود بر روی فرم ، عمليات تائيد داده ورودی توسط کاربر را انجام و درصورت عدم رعايت ضوابط تعريف شده در ارتباط با هر يک از کنترل های ورودی ، پيام خطائی ،بصورت مختصر و در قسمت انتهائی صفحه نمايش داده خواهد شد .

ايجاد يک برنامه وب ASP.NET با استفاده از VB.NET
بمنظور ايجاد يک برنامه وب ASP.NET با استفاده از VB.NET مراحل زير را دنبال می نمائيم :

اجرای برنامه ويژوال استوديو دات نت

از طريق منوی File ، گزينه New و در ادامه Project را انتخاب نمائيد .

در جعبه محاوره ای New Project ، در بخش Project Types گزينه Visual Bacic Projects را انتخاب ( کليک ) و در ادامه ASP.NET Web Application را انتخاب نمائيد .

در فيلد Location ، بجای نام پيش فرض #WebApplication ، نام ValidationData را در نظر می گيريم . در صورتيکه از يک سرويس دهنده محلی استفاده می گردد ، می توان نام سرويس دهنده را http://localhost در نظر گرفت . بدين ترتيب در فيلد Location ، آدرس مربوطه بصورت زير نشان داده خواهد شد : http://localhost/ValidationData
ايجاد يک فرم وب نمونه بمنظور ايجاد يک فرم وب در پروژه ايجاد شده در مرحله قبل ، مراحل زير را دنبال می نمائيم :

اضافه نمودن يک فرم جديد با نام ValidUser.aspx به برنامه وب ASP.NET در ويژوال استوديو دات نت . بمنظور انجام خواسته فوق ، دو مرحله زير را دنبال می نمائيم :

مرحله يک : در Solution Explorer ، بر روی گره Project کليک سمت راست نموده و گزينه Add و در ادامه گزينه Add Web Form انتخاب گردد .
مرحله دو : درفيلد Name ، نام ValidUser.aspx را درج و در ادامه گزينه Open انتخاب گردد .

در ادامه، کدهای زير را پس از استقرار در پنجره نمايش HTML مربوط به ValidUser.aspx ، بين تگ های شروع و پايان مستقر می نمائيم .

تگ های HTML درج شده در ValidUser.aspx

< table >
< tr width = " 100 " >
نام < /td >

< td > < input id= " txtUserName" type = " text" size = "20" maxlength =" 15" runat= " server" NAME = "txtUserName " > *
< /td >
< /tr >
< tr width= "100" >
< td >
آدرس پست الکترونيکی
< td > < input id= "txtEmail" type= "text" size ="35" maxlength= "30" runat= "server" NAME= " txtEmail" >
( < A > Ino@Srco.ir < /A > )
< /td >
< /tr>
< tr width= "100" >
< td > رمز عبور < /td >
< td > < input id= "txtPassword" type= "password" size ="15" maxlength= "10" runat= "server" NAM E="txtPassword" > *
< /td >
< /tr >
< tr width="100" >
< td > تايپ مجدد رمز عبور < /td >
< td > < input id= "txtConfirmPassword" type= "password" size= "15" maxlength= "10" runat= "server" NAME= "txtConfirmPassword" > *
< /td >
< / tr >
< / table >

کنترل های RequiredFieldValidator ، بررسی لازم در خصوص داده ورودی برای هر يک از فيلدهای موردنظر در ارتباط با کنترل های مشخص شده را انجام خواهد داد . در اين رابطه کنترل های RequiredFieldValidator را در ارتباط با فيلدهای UserName و Password به فرم اضافه می نمائيم . در ValidUser.aspx ، و پنجره HTML مستقر و کد زير را بعد از تگ < Table/ > اضافه می نمائيم .

< asp :RequiredFieldValidator id= valUserNameRequired
ControlToValidate =txtUserName ErrorMessage = "نام کاربر می بايست وارد شود " EnableClientScript =true Display= None Runat= server/ >
< asp:RequiredFieldValidator id= valPasswordRequired
ControlToValidate=txtPassword ErrorMessage="رمز عبور می بايست وارد شود " EnableClientScript=true Display =None Runat= server/ >
< asp :RequiredFieldValidator id= valConfirmPasswordRequired
ControlToValidate= txtConfirmPassword ErrorMessage= "تائيد مجدد رمز عبور می بايست وارد شود "
EnableClientScript= true Display= None Runat =server/ >

فيلدهای رمز عبور تاکيد مضاعفی است که کاربر دومرتبه و بدرستی رمز عبور خود را وارد نمايد. کنترل CompareValidator محتويات دو فيلد را با يکديگر مقايسه و در صورت عدم يکسان بودن آنان ، پيام خطائی نمايش داده خواهد شد . در اين رابطه از يک کنترل CompareValidator بمنظور بررسی صحت ( يکسان بودن ) فيلدهای رمز عبور استفاده شده است . بدين منظور پس از استقرار در پنجره HTML مربوط به فرم وب ValidUser.aspx ، کد زير را پس از کنترل های اضافه شده در مرحله قبل ، به فرم مورد نظر اضافه می نمائيم .

< asp :CompareValidator id= valComparePassword
ControlToValidate =txtConfirmPassword ErrorMessage =" فيلدهای رمز عبور می بايست يکسان باشند " ControlToCompare =txtPassword Display =None
EnableClientScript =true Runat =server/ >

در برخی موارد لازم است از نوع خاصی بررسی صحت و اعتبار داده استفاده گردد . فيلد آدرس پست الکترونيکی در مثال فوق ، نمونه ای در اين زمينه است . در اين رابطه از کنترل RegularExpressionValidator استفاده تا اين اطمينان حاصل گردد که کاربران فرمت اوليه برای درج يک آدرس پست الکترونيکی را رعايت نموده اند . محتويات فيلد فوق مجددا" بر اساس يک عبارت ( تعريف يک الگو ) بررسی شده و در صورتيکه محتويات مورد نظر با عبارت تعريف شده مطابقت نداشته باشد ، يک پيام خطاء نمايش داده خواهد شد . در اين رابطه لازم است که يک کنترل RegularExpressionValidator بر روی فرم اضافه تا فرمت داده آدرس پست الکترونيکی ورودی توسط کاربر را بررسی و از صحت و رعايت فرمت مورد نظر اطمينان حاصل گردد . بدين منظور پس از استقرار در پنجره HTML مربوط به فرم وب ValidUser.aspx ، کد زير را پس از کنترل های اضافه شده در مرحله قبل ، به فرم مورد نظر اضافه می نمائيم .

< asp :RegularExpressionValidator ID= valEmailAddress
ControlToValidate= txtEmail ValidationExpression = ".* @.* .. *" ErrorMessage = "آدرس پست الکترونيکی درست نمی باشد "
Display =None EnableClientScript =true Runat= server/ >

در ادامه ، بر روی فرم ValidUser.aspx ، يک دکمه "ارسال" را اضافه می نمائيم .بدين ترتيب به کاربر اجازه داده خواهد شد تا صفحه مورد نظر را برای سرويس دهنده ارسال و عمليات بررسی صحت و اعتبار داده درج شده در هر يک از فيلدهای موجود بر روی فرم ، انجام شود. بدين منظور پس از استقرار در پنجره HTML مربوط به فرم وب ValidUser. aspx ، کد زير را پس از کنترل های اضافه شده در مرحله قبل ، به فرم مورد نظر اضافه می نمائيم .

< br >
< input type = submit id = cmdSumbit value = submit runat =server / >

در نهايت ، از يک کنترل ValidationSummary بمنظور نمايش تمامی خطاهای بوجود آمده در يک ناحيه خاص بر روی فرم استفاده می شود. بدين منظور پس از استقرار در پنجره HTML مربوط به فرم وب ValidUser.aspx ، کد زير را پس از دکمه "ارسال" اضافه شده در مرحله قبل ، به فرم مورد نظر اضافه می نمائيم .

< br >
< asp :ValidationSummary id= ValSummary HeaderText= " The following
errors were found :" ShowSummary=True DisplayMode=List Runat=server / >

پس از اتمام مراحل فوق ، با اتتخاب گزينه Save ، فرم وب ايجاد شده ذخيره و در ادامه می توان با استفاده از منوی Debug و گزينه Start ، امکان ايجاد و اجرای برنامه وب را فراهم نمود .

 

اجرای برنامه
در صورتيکه کاربر دکمه "ارسال" را بدون درج هيچگونه اطلاعاتی در فيلدهای مربوطه ، فعال نمايد ، سه پيام خطاء بصورت زير نمايش داده خواهد شد .
در صورتيکه کاربر، دو رمز عبور را وارد که با يکديگر يکسان نمی باشند ، پيام خطاء زير ارائه خواهد شد .
در صورتيکه کاربر يک آدرس پست الکترونيکی را وارد که دارای فرمت مناسب نباشد ، ، پيام خطاء زير نمايش داده خواهد شد

لینک کوتاه پست
مطالب مرتبط با پست جاری
  • نکات مهم
    1- لطفا نظر خود را با زبان فارسی بیان کنید
    2- رایتم نظرات اسپم و تبلیغی شما را تایید نمی کند
    3- لطفا نظرات شما بدون ابهام و واضح باشد
  • نام
    ایمیل (منتشر نمی‌شود) (لازم)
    وبسایت
    :):(;):D;)):X:?:P:*=((:O@};-:B/:):S
    نظر خصوصی
    مشخصات شما ذخیره شود ؟[حذف مشخصات] [شکلک ها]
    کد امنیتی
به کانال تلگرام سایت ما بپیوندید