|
آموزش asp.net در این وبلاگ سعی شده تا اطلاعاتی در مورد asp.net و مثال هایی از آن برای کاربران ارائه شود. |
در این وبلاگ فرض شده کاربران عزیز تا حدی با ASP.NET آشنایی دارند.
امیدواریم بتوانیم بخشی از نیازهای شما را براورده کنیم.
ساعت و تاريخ
موضوعات
آمار بازدید : نفر
افراد آنلاين : نفر
برخی از کنترل های وب سرور ( )
«جلسه پنجم»
کنترل 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
برخی از کنترل های وب سرور ( )
«جلسه اول»
کنترل TextBox :
این کنترل به هر یک از این سه تگ HTML استاندارد می تواند تبدیل شود:
کد زیر طریقه استفاده از کنترل TextBox را برای نمایش تکست باکس تک خطی تکست باکس رمز عبوری وتکست باکس چند خطی نشان می دهد.
*نکته:
کنترل های وب سرور بر خلاف تگ های HTML به جای استفاده از خصوصیت Name از ID استفاده میکند و همچنین تمام کنترل های وب سرور دارای خصوصیت Runat="server" می باشند که این خصوصیت باعث اجرا شدن کنترل ها در طرف سرور می شود.
TextChanged.aspx
<html>
<head><title>TextBox</title></head>
<body>
<form Runat="server">
<p>
Username:
<asp:TextBox
ID="txtUsername"
Columns="30"
Runat="server" />
</p><p>
Password:
<asp:TextBox
ID="txtPassword"
TextMode="Password"
Columns="30"
Runat="server" />
</p>
Comments:
<br>
<asp:TextBox
ID="txtComments"
TextMode="MultiLine"
Rows="10"
Columns="30"
Runat="server" />
<p>
<asp:Button
Text="Click Here!"
Runat="server" />
</form>
</body></html>
اگر چه برای تعریف فیلد های Comments, Password, UserName از وب کنترل های یکسانی استفاده شده است، ولی آنچه کاربر می بیندسه المان متفاوت است. علت تفاوت این المان ها به خصوصیت TextMode این کنترل بر می گردد.
TextMode :
این خصوصیت نوع تکست بالکس را مشخص می کند. مقادیر مجاز برای این خصوصیت عبارتند از :
خصوصیت AutoPostBack :
کنترل تکست باکس خصوصیت دیگری دارد به نام AutoPostBack ، وقتی مقدار این خصوصیت True باشد، فرم در بر گیرنده تکست باکس به طور خودکار هر وقت مهتوای تکست باکس تغییر کند به سرور پست می شود.
رویداد TextChanged :
کنترل TextBox واقعه ای دارد به نام TextChanged که زمانی رخ می دهد که محتویات تکست باکس تغییر یافته و فرم در بر گیرنده تکست باکس به سرور پست بک شده باشد.
قطعه کد زیر طریقه استفاده از خصوصیت AutoPostBack ورویداد TextChanged را در قالب یک بازی ساده نشان می دهد. این صفحه حاوی سه کادر است و کسی در این بازی برنده است که بتواند کلمه Apple را داخل هر سه کادر وارد کند.
TextChanged.aspx
<script Runat="server">
Sub ChangeBox1( s As Object, e As EventArgs )
txtBox.Text = StrReverse( txtBox.Text )
CheckWin( )
End Sub
Sub ChangeBox3( s As Object, e As EventArgs )
txtBox3.Text = StrReverse( txtBox3.Text )
CheckWin( )
End Sub
Sub CheckWin( )
If txtBox.Text = "Apple"_
And txtBox2.Text = "Apple"_
And txtBox3.Text = "Apple" Then
lblMessage.Text = "You Win!"
End If
End Sub
</script>
<html>
<head><title>TextBoxAutoPostBack</title></head>
<body>
<form Runat="server">
Enter the word Apple into all TextBoxes:
<p>
<asp:TextBox
ID="txtBox"
AutoPostBack="True"
onTextChanged="ChangeBox3"
Runat="server" />
</p><p>
<asp:TextBox
ID="txtBox2"
AutoPostBack="True"
onTextChanged="ChangeBox1"
Runat="server" />
</p><p>
<asp:TextBox
ID="txtBox3"
AutoPostBack="True"
onTextChanged="ChangeBox3"
Runat="server" />
</p>
<asp:Label
Id="lblMessage"
Runat="server" />
</form>
</body></html>
Bottom of Form
مثلاً، اگر متن موجود در تکست باکس دوم را عوض کنیم، ساب روتین changeBox1 اجرا می شود که با استفاده از تابع StrReverse متنی که در تکست باکس اول وجود دارد را معکوس می کند.
که در صورت وارد کردن کلمه Apple در هر سه تکست باکس پیام You Win! از طریق بر چسب lblMessage ظاهر می شود.
نوشته شده توسط s.ebrahimnia در دوشنبه سوم بهمن 1384
مطالب پیشین
![]()
کپی برداری از مطالب وبلاگ فقط با ذکر منبع مجاز میباشد .
All Rights Reserved 2005-2006 © by
aspnetlearning.blogfa.com
The Template Designed By Loghman Avand @
www.irlearn.com
