Professional Documents
Culture Documents
PDF Ebooks - Org Ku 11513
PDF Ebooks - Org Ku 11513
اﻟﻔﺻل اﻷول
-2-
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻓﻲ ھذا اﻟﻔﺻل ﺳﻧﺗﻌﻠم ﻛﯾف ﻧﺳﺗﺧدم ﻋﻧﺎﺻر اﻟﺗﺣﻛم اﻷﺳﺎﺳﯾﺔ اﻟﻣﺿﻣﻧﺔ ﻓﻲ ﻣﻧﺻﺔ اﻟﻌﻣل ASP.NET
واﻟﺗﻲ ﻻﺑد ﻣﻧﮭﺎ ﻹﻧﺷﺎء ﺗطﺑﯾﻘﺎت اﻻﻧﺗرﻧت ,ﺣﯾث ﺳﻧﺗﻌﻠم ﻛﯾف ﻧﻌرض اﻟﻣﻌﻠوﻣﺎت ﺑﺎﺳﺗﺧدام اﻷداﺗﯾن
, Label , Literalوﻛﯾف ﻧﻘﺑل وﻧﺗﻌﺎﻣل ﻣﻊ دﺧل اﻟﻣﺳﺗﺧدم ﻣن ﺧﻼل اﻷدوات TextBox ,
CheckBox , RadioButtonوﻛﯾﻔﯾﺔ إرﺳﺎل ﺑﯾﺎﻧﺎت اﻟﻧﻣﺎذج إﻟﻰ اﻟﺳﯾرﻓر ﺑواﺳطﺔ أدوات اﻷزرار
اﻟﻣﺗﻧوﻋﺔ ,ﺑﺎﻹﺿﺎﻓﺔ ﻷدوات ﻋرض اﻟﺻور ﻋﻠﻰ ﺻﻔﺣﺎت اﻹﻧﺗرﻧت ,ﻛﻣﺎ ﻧﺳﺗﻌرض ﻛﯾﻔﯾﺔ ﺿم
اﻷدوات واﺣﺗواﺋﮭﺎ داﺧل أداة Panelﺑﺎﻹﺿﺎﻓﺔ ﻟﻛﯾﻔﯾﺔ رﺑط اﻟﺻﻔﺣﺎت ﺑﺑﻌﺿﮭﺎ ﻣن ﺧﻼل اﻷداة
. HyperLink
ﻋرض اﻟﻣﻌﻠوﻣﺎت
ﻣﻧﺻﺔ ﻋﻣل ASP.NETﺗدﻋم أداﺗﯾن ﻟﻌرض اﻟﺑﯾﺎﻧﺎت اﻟﻧﺻﯾﺔ Label , Literalﻓﻔﻲ ﺣﯾن أن اﻷداة
Literalﺗﻌرض اﻟﺑﯾﺎﻧﺎت ﺑﺄﺳﻠوب ﺑﺳﯾط ,ﻓﺈن اﻷداة Labelﺗﻘدم اﻟﻌدﯾد ﻣن اﻟﻣزاﯾﺎ واﻟﺗﻧﺳﯾﻘﺎت
اﻹﺿﺎﻓﯾﺔ .
ﻧﺳﺗﺧدم أدوات ﻋرض اﻟﻣﻌﻠوﻣﺎت ﺣﺗﻰ ﻧﺗﻣﻛن ﻣن ﺗﻌدﯾل اﻟﻧص اﻟﻣﻌروض ﻋﻠﻰ اﻟﺻﻔﺣﺔ وﻗت اﻟﺗﻧﻔﯾذ
ﺣﯾث ﻧﺳﺗطﯾﻊ ﺑﺑﺳﺎطﺔ أن ﻧﺣدد اﻟﻧص اﻟﻣراد ﻋرﺿﮫ ﻣن ﺧﻼل إﺳﻧﺎده ﻟﻠﺧﺎﺻﯾﺔ Textﻷداة , Label
ﻛﻣﺎ ﯾﻣﻛن أن ﻧﺳﺗﺧدم ﺗﻧﺳﯾﻘﺎت htmlﻟﺗﻘوم ھذه اﻷداة ﺑﺗﻔﺳﯾرھم وﺗوﻟﯾد اﻟﺧرج اﻟﻣطﻠوب ,وﺑﺷﻛل
اﻓﺗراﺿﻲ ﺗﻘوم ھذه اﻷداة ﺑﺈﺣﺎطﺔ اﻟﻧص ﺑﺎﻟوﺳم > , <spanﻓﻲ اﻟﻛود اﻟﺗﺎﻟﻲ ﻧﻌرض أﺳﺎﻟﯾب ﻣﺧﺗﻠﻔﺔ
ﻹﺳﻧﺎد اﻟﻣﻌﻠوﻣﺎت ﻷدوات : Label
ﻛود ASP.net
><div
><asp:Label ID="Label1" runat="server" Text="Hi i'm Label1" ></asp:Label
><br /
>"<asp:Label ID="Label2" runat="server" Text="Label
Hi i'm Label2
></asp:Label
><br /
>"><asp:Label ID="Label3" runat="server" Text="<b><i>Hi i'm Label3</i></b
></asp:Label
></div
-3-
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻋﺎدة ﻣﺎ ﯾﺗم اﺳﺗﺧدام اﻷداة Labelﻟﻌرض ﻋﻧﺎوﯾن ﻷدوات أﺧرى ﻟﻣﺳﺎﻋدة اﻟﻣﺳﺗﺧدم ﻋﻠﻰ اﻟﻘﯾﺎم
ﺑﻌﻣﻠﮫ ,وﺑﺎﻟﺗﺎﻟﻲ ﻓﺈن ھذه اﻷداة ﺗﻣﻠك اﻟﺧﺎﺻﯾﺔ AssociatedControlIDﻟﺗﺣدﯾد اﻷداة اﻟﻣرﺗﺑطﺔ ﺑﮭﺎ
وﯾﻧﺻﺢ ﺑﺎﺗﺳﺧدام ھذه اﻟﺧﺎﺻﯾﺔ ﺑﺷﻛل ﻋﺎم .
ﺗﻌﻣل ھذه اﻷداة ﺑﺷﻛل ﻣﺷﺎﺑﮫ ﺟدا ﻟﻌﻣل اﻷداة Labelإﻻ أﻧﮭﺎ ﻻﺗﻘوم ﺑﺈﺣﺎطﺔ اﻟﻧص ﺑﺎﻟوﺳم ><span
و ھذا ﻣﺎﻗد ﻧﺣﺗﺎﺟﮫ ﻓﻲ ﺑﻌض اﻟﻣواﻗﻊ اﻟﺗﻲ ﻻﯾﻣﻛن ﻓﯾﮭﺎ ﺗرﺟﻣﺔ أﻛود ) htmlﻛﺗﺣدﯾد ﻋﻧوان اﻟﺻﻔﺣﺔ
ﻋﻠﻰ اﻟﻣﺗﺻﻔﺢ ﻣﺛﻼ ( ,وﺑﻣﺎ أن ھذه اﻷداة ﻻﺗدﻋم اﻟوﺳم > <spanﻓﮭﻲ أﯾﺿﺎ ﻻﺗدﻋم اﻟﺧﺻﺎﺋص
اﻟﺗﺎﺑﻌﺔ ﻟﮫ , CssClass , BackColorاﻷداة Literalﺗدﻋم ﺧﺎﺻﯾﺔ ھﺎﻣﺔ وﻏﯾر ﻣدﻋوﻣﺔ ﺑﺎﻷداة
Labelوھﻲ اﻟﺧﺎﺻﯾﺔ Modeﺣﯾث ﯾﻣﻛﻧﮭﺎ أن ﺗﺄﺧذ أﺣد اﻟﻘﯾم اﻟﺛﻼث اﻟﺗﺎﻟﯾﺔ :
ﻛود ASP.net
><div
><asp:Literal ID="L1" runat="server" Mode="PassThrough" Text="<hr />"/
><asp:Literal ID="L2" runat="server" Mode="Encode" Text="<hr />"/
><asp:Literal ID="L3" runat="server" Mode="Transform" Text="<hr />"/
></div
-4-
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻋﻧد ﺗﻧﻔﯾذ اﻟﺻﻔﺣﺔ اﻟﺳﺎﺑﻘﺔ ﺗﻘوم Literal1ﺑﻌرض ﺧط أﻓﻘﻲ Literal2 ,ﺗﻌرض اﻟﻧص > <hr /ﻓﻲ
ﺣﯾن أن Literal3ﺗﻔﺣص اﻟﺟﮭﺎز اﻟطﺎﻟب ﻟﻠﺻﻔﺣﺔ ﻓﺈن ﻛﺎن ﯾدﻋم ھذا اﻟوﺳم ﻓﺈﻧﮫ ﯾﻌرض ﺧط أﻓﻘﻲ
وإﻻ ﻓﺳﯾﺗم ﻋرض اﻟﻧص ﻛﻣﺎ ھو >. <hr /
ﺗﺗﺿﻣن ﻣﻧﺻﺔ ﻋﻣل ASP.NETأدوات ﺗﺳﻣﺢ ﻟﻠﻣﺳﺗﺧدم ﺑﺈدﺧﺎل وﺗﺣدﯾد اﺧﺗﯾﺎراﺗﮫ ﻓﻲ اﻟﻣوﻗﻊ ,ﺣﯾث
ﺗﻘدم ﺛﻼث أدوات أﺳﺎﺳﯾﺔ ھﻲ TextBox , CheckBox , RadioButtonو ﺳﻧﺗﻌرف ﻋﻠﯾﮭم ﻓﻲ
اﻟﻔﻘرات اﻟﺗﺎﻟﯾﺔ ﺑﺎﻟﺗﻔﺻﯾل .
ﺗﺳﻣﺢ ھذه اﻷداة ﻟﻠﻣﺳﺗﺧدم ﺑﺈدﺧﺎل ﻧص وﻓﻘﺎ ً ﻟﺛﻼﺛﺔ أﻧﻣﺎط ﺗﺣددھﺎ ﻗﯾﻣﺔ اﻟﺧﺎﺻﯾﺔ TextModeوھم:
ﻛود ASP.net
><div
><asp:TextBox ID="TextBox1" runat="server" TextMode="SingleLine"/
><asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" /
><asp:TextBox ID="TextBox3" runat="server" TextMode="Password" /
></div
: AccessKeyﻟﺗﺣدﯾد ﻣﻔﺗﺎح ﻣن ﻟوﺣﺔ اﻟﻣﻔﺎﺗﯾﺢ ﻋﻧد اﻟﺿﻐط ﻋﻠﯾﮫ ﯾﺗم ﻧﻘل اﻟﺗرﻛﯾز ﻟﮭذه
اﻷداة .
: AutoCompleteTypeﺗﺣدﯾد ﻧﻣط اﻹﻛﻣﺎل اﻟﺗﻠﻘﺎﺋﻲ ﺣﯾث ﯾﻛﻔﻲ أن ﯾدﺧل اﻟﻣﺳﺗﺧدم
ﺑﺿﻌﺔ ﺣروف ﺣﺗﻰ ﯾﺗم إظﮭﺎر ﻛﻠﻣﺎت ﻣطﺎﺑﻘﺔ ﺗم إدﺧﺎﻟﮭﺎ ﻣﺳﺑﻘﺎ ً ,ﯾﻣﻛن إﻟﻐﺎء ﺗﻔﻌﯾل ھذه
اﻟﺧﺎﺻﯾﺔ ﺑﺈﺳﻧﺎد اﻟﻘﯾﻣﺔ Disabledﻟﮭﺎ .
: AutoPostBackإرﺳﺎل اﻟﻣﺣﺗوﯾﺎت إﻟﻰ اﻟﺳﯾرﻓر ﺑﺷﻛل ﻓوري ﻋﻧد أي ﺗﻐﯾر ﺑﺎﻟﻧص
اﻟﻣدﺧل .
: Columnsﺗﺣدﯾد ﻋدد اﻷﻋﻣدة اﻟﺗﻲ ﺳﺗظﮭر .
: Enabledﺗﻔﻌﯾل أو إﻟﻐﺎء ﺗﻔﻌﯾل ھذه اﻷداة .
-5-
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
: MaxLengthﺗﺣدﯾد اﻟﻌدد اﻷﻋظﻣﻲ ﻣن اﻟﻣﺣﺎرف اﻟﺗﻲ ﯾﻣﻛن إدﺧﺎﻟﮭﺎ ) ﻻﺗﻌﻣل ﻣﻊ
. (MulitLine
: ReadOnlyﻟﻣﻧﻊ اﻟﻣﺳﺗﺧدم ﻣن ﺗﻐﯾﯾر اﻟﻘﯾﻣﺔ اﻟﻣوﺟودة ﺑـ . TextBox
: Rowsﺗﺣدﯾد ﻋدد اﻷﺳطر اﻟﺗﻲ ﺳﺗظﮭر .
: TabIndexﺗﺣدﯾد رﻗم ﯾدل ﻋﻠﻰ ﺗرﺗﯾب اﻟوﺻول ﻟﮭذه اﻷداة ﻋﺑر ﻣﻔﺗﺎح . Tab
: Warpﻟﺗﺣدﯾد إﻣﻛﺎﻧﯾﺔ اﻻﻟﺗﻔﺎف اﻟﺗﻠﻘﺎﺋﻲ ﻟﻠﻧص ﻣﻊ اﻟﻧﻣط . MultiLine
أداة اﻟﺗﺣﻛم TextBoxﺗدﻋم اﻟطرﯾﻘﺔ Focusاﻟﺗﻲ ﺗﺳﻣﺢ ﺑوﺿﻊ اﻟﺗرﻛﯾز ﻋﻠﯾﮭﺎ ﻋﻧد اﻟﺗﻧﻔﯾذ ,ﻛﻣﺎ أﻧﮭﺎ
ﺗدﻋم اﻟﺣدث TextChangedواﻟذي ﯾُطﻠق ﻋﻧدﻣﺎ ﺗﺗﻐﯾر ﻣﺣﺗوﯾﺎت ھذه اﻷداة .
ﻟﺗوﺿﯾﺢ آﻟﯾﺔ ﻋﻣل اﻟﺧﺎﺻﯾﺔ AutoPostBackأﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة أﺿف ﻟﮭﺎ TextBox1وأﻋطﻲ
اﻟﺧﺎﺻﯾﺔ اﻟﺳﺎﺑﻘﺔ اﻟﻘﯾﻣﺔ Trueﺛم أﺿف Lable1ﻣﺎﺳﻧﻘوم ﺑﮫ ھو أﻧﮫ ﻋﻧد ﻛﺗﺎﺑﺔ ﻧص ﻣﺎ ﻓﺈﻧﮫ
ﺳﯾﻌرض ﻓﻲ اﻷداة Label1ﺑﻣﺟرد ﻧﻘل اﻟﺗرﻛﯾز ﺧﺎرج TextBox1وھو دﻟﯾل ﻋﻠﻰ ﻋﻣل
postBackآﻟﻲ ﻟﻠﺻﻔﺣﺔ ,أي إرﺳﺎﻟﮭﺎ ﻟﻠﺳﯾرﻓر وإﻋﺎدة اﻟﻧﺗﺎﺋﺞ
ﻛود ASP.net
><div
"<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True
>ontextchanged="TextBox1_TextChanged"></asp:TextBox
><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label
></div
ﻛود C#
)protected void TextBox1_TextChanged(object sender, EventArgs e
{
;Label1.Text = TextBox1.Text
}
ﻛود VB
Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged
Label1.Text = TextBox1.Text
End Sub
-6-
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻧﻔذ اﻟﺻﻔﺣﺔ واﻛﺗب ﻣﺎﺗرﯾد ﻓﻲ TextBox1ﺛم اﺿﻐط ﻋﻠﻰ اﻟﻣﻔﺗﺎح Tabﻣن ﻟوﺣﺔ اﻟﻣﻔﺎﺗﯾﺢ وﺷﺎھد
اﻟﻧﺗﯾﺟﺔ ,أﻏﻠق اﻟﻣﺳﺗﻌرض ﺛم أﻋد اﻟﺗﻧﻔﯾذ ﻣرة أﺧرى وﻗم ﺑﻛﺗﺎﺑﺔ أول ﺣرف ﻣن اﻟﻘﯾﻣﺔ اﻟﺗﻲ أدﺧﻠﺗﮭﺎ
ﺑﺎﻟﺗﻧﻔﯾذ اﻷول ﻟﺗرى ﻛﯾف ﺗﺗم ﻋﻣﻠﯾﺔ اﻹﻛﻣﺎل اﻟﺗﻠﻘﺎﺋﻲ ,أﻟﻐﻲ ﺗﻔﻌﯾل ﺧﺎﺻﯾﺔ اﻹﻛﻣﺎل اﻟﺗﻠﻘﺎﺋﻲ ﻛﻣﺎ ھو
ﻣوﺿﺢ ﺑﺎﻷﻋﻠﻰ ﺛم أﻋد اﻟﺗﻧﻔﯾذ وأﻋد ﻛﺗﺎﺑﺔ ﻧﻔس اﻟﻛﻠﻣﺔ ﻟﺗﻼﺣظ ﺗوﻗف ﻋﻣل اﻹﻛﻣﺎل اﻟﺗﻠﻘﺎﺋﻲ .
ﺗﺳﻣﺢ ھذه اﻷداة ﻟﻠﻣﺳﺗﺧدم أن ﯾﺣدد ﻗﺑوﻟﮫ أو رﻓﺿﮫ ﻷﻣر ﻣﺎ ,أي أﻧﮭﺎ ﺗﻌﺗﺑر ﻛﺳؤال ﯾطرح ﻋﻠﻰ
اﻟﻣﺳﺗﺧدم واﻹﺟﺎﺑﺔ ﺣﺗﻣﺎ ً إﻣﺎ ﻧﻌم أو ﻻ ,ﻣﺛﻼ ﻣوﻗﻊ ﻓﯾﺳﺑوك ﯾﺳﺄﻟﻧﺎ إن ﻛﻧﺎ ﻧرﯾد اﺳﺗﻘﺑﺎل رﺳﺎﺋل ﻋﻠﻰ
ﺑرﯾدﻧﺎ اﻹﻟﻛﺗروﻧﻲ أم ﻻ ,ﺣﯾث إن اﻟﺧﺎﺻﯾﺔ Checkedھﻲ اﻟﺗﻲ ﺗﻣﻛﻧﻧﺎ ﻣن ﻣﻌرﻓﺔ ﺧﯾﺎر اﻟﻣﺳﺗﺧدم
ﻛﻣﺎ ﺳﻧرى ﺑﻌد ﻗﻠﯾل .
: AccessKeyﻟﺗﺣدﯾد ﻣﻔﺗﺎح ﻣن ﻟوﺣﺔ اﻟﻣﻔﺎﺗﯾﺢ ﻋﻧد اﻟﺿﻐط ﻋﻠﯾﮫ ﯾﺗم ﻧﻘل اﻟﺗرﻛﯾز ﻟﮭذه
اﻷداة
: AutoPostBackإرﺳﺎل ﺧﯾﺎر اﻟﺗﺣدﯾد إﻟﻰ اﻟﺳﯾرﻓر ﺑﺷﻛل ﻓوري ﻋﻧد أي ﺗﻐﯾر ﺑﺣﺎﻟﺗﮫ .
: Checkedﺗﻌود ﺑـ Trueأو Falseﺑﺣﺳب ﻗﺑول اﻟﻣﺳﺗﺧدم أو رﻓﺿﮫ .
: Enabledﺗﻔﻌﯾل أو إﻟﻐﺎء ﺗﻔﻌﯾل ھذه اﻷداة .
: TabIndexﺗﺣدﯾد رﻗم ﯾدل ﻋﻠﻰ ﺗرﺗﯾب اﻟوﺻول ﻟﮭذه اﻷداة ﻋﺑر ﻣﻔﺗﺎح . Tab
: Textﺗﺣدﯾد اﻟﻧص اﻟذي ﯾظﮭر ﺑﺟﺎﻧب ھذه اﻷداة ) اﻟﺳؤال اﻟﻣطروح ( .
: TextAlignﻣوﺿﻊ اﻟﻧص ﺑﺎﻟﻧﺳﺑﺔ ﻟﻸداة ,ﻋﻠﻰ ﯾﻣﯾﻧﮭﺎ أم ﯾﺳﺎرھﺎ ﺗﺄﺧذ إﺣدى اﻟﻘﯾﻣﺗﯾن
Left , Right
أداة اﻟﺗﺣﻛم CheckBoxﺗدﻋم اﻟطرﯾﻘﺔ Focusاﻟﺗﻲ ﺗﺳﻣﺢ ﺑوﺿﻊ اﻟﺗرﻛﯾز ﻋﻠﯾﮭﺎ ﻋﻧد اﻟﺗﻧﻔﯾذ ,ﻛﻣﺎ
أﻧﮭﺎ ُﺗطﻠق اﻟﺣدث CheckedChangedﻋﻧد ﺗﻐﯾﯾر اﻟﻣﺳﺗﺧدم ﻟﺧﯾﺎره ﺳواءاً ﺑﺎﻟرﻓض أو اﻟﻘﺑول .
ﻣﺛﺎل ﺑﺳﯾط :أﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة أﺿف ﻟﮭﺎ اﻷدوات CheckBox1,Button1,Label1أﻧﻘر ﻋﻠﻰ
اﻟزر Button1ﻣرﺗﯾن واﻛﺗب اﻟﻛود اﻟﺗﺎﻟﻲ :
ﻛود C#
)protected void Button1_Click(object sender, EventArgs e
{
;)(Label1.Text = CheckBox1.Checked.ToString
}
-7-
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻛود VB
Protected Sub Button1_Click1(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button1.Click
)(Label1.Text = CheckBox1.Checked.ToString
End Sub
ﻧﻔذ وﻗم ﺗﺣدﯾد ﺧﯾﺎر CheckBoxﺛم اﺿﻐط ﻋﻠﻰ اﻟزر ,ﺳﺗرى أن اﻟﺧﺎﺻﯾﺔ Checkedأﻋﺎدت
, Trueأﻟﻐﻲ ﺗﻔﻌﯾل اﻟﺧﯾﺎر واﺿﻐط ﻋﻠﻰ اﻟزر ﻣرة أﺧرى ..ﻣﺎھﻲ اﻟﻧﺗﯾﺟﺔ اﻵن ؟
ﻛود ASP.net
><div
" اﺳﺘﻘﺒﺎل رﺳﺎﺋﻞ ﻋﻠﻰ اﻟﺠﻮال ؟ "=<asp:CheckBox ID="CheckBox1" runat="server" Text
>TextAlign="Left"/><br /
" <asp:Button ID="Button1" runat="server" Text=" ok
>onclick="Button1_Click" /><br /
><asp:Label ID="Label1" runat="server" Text="" /
></div
ﻣﻼﺣظﺔ
ﻣﻧﺻﺔ ﻋﻣل ASP.Netﺗدﻋم اﻷداة CheckBoxListواﻟﺗﻲ ﺗﺗﯾﺢ إﻣﺎﻛﺎﻧﯾﺔ ﻋﻣل ﻗﺎﺋﻣﺔ ﻋﻧﺎﺻرھﺎ
ﻋﺑﺎرة ﻋن أدوات CheckBoxﻛﻣﺎ ﺳﻧرى ﻓﻲ ﻓﺻل ﻻﺣق .
ﻻﺗظﮭر ھذه اﻷداة ﻣﻧﻔردة ﻟوﺣدھﺎ إﻧﻣﺎ ﺗﻛون داﺋﻣﺎ ً ﺿﻣن ﻣﺟﻣوﻋﺔ ﺣﯾث ﺑﺈﻣﻛﺎن اﻟﻣﺳﺗﺧدم ﺗﺣدﯾد
ﺧﯾﺎر واﺣد ﻓﻘط ﻣن ﺿﻣن أدوات ﻣﺟﻣوﻋﺔ ﻣﺎ .
: AccessKey ﻟﺗﺣدﯾد ﻣﻔﺗﺎح ﻣن ﻟوﺣﺔ اﻟﻣﻔﺎﺗﯾﺢ ﻋﻧد اﻟﺿﻐط ﻋﻠﯾﮫ ﯾﺗم ﻧﻘل اﻟﺗرﻛﯾز ﻟﮭذه
اﻷداة
: AutoPostBack إرﺳﺎل ﺧﯾﺎر اﻟﺗﺣدﯾد إﻟﻰ اﻟﺳﯾرﻓر ﺑﺷﻛل ﻓوري ﻋﻧد أي ﺗﻐﯾر ﺑﺣﺎﻟﺗﮫ .
-8-
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
أداة اﻟﺗﺣﻛم RadioButtonﺗدﻋم اﻟطرﯾﻘﺔ Focusاﻟﺗﻲ ﺗﺳﻣﺢ ﺑوﺿﻊ اﻟﺗرﻛﯾز ﻋﻠﯾﮭﺎ ﻋﻧد اﻟﺗﻧﻔﯾذ ,
ﻛﻣﺎ أﻧﮭﺎ ُﺗطﻠق اﻟﺣدث CheckedChangedﻋﻧد ﺗﻐﯾﯾر اﻟﻣﺳﺗﺧدم ﻟﺧﯾﺎره.
ﺳﻧﻘوم ﺑﺎﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ ﺑﻌرض ﺑﺳﯾط ﻟﻛﯾﻔﯾﺔ ﻋﻣل ھذه اﻷداة ,أﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة أﺿف ﻋﻠﯾﮭﺎ اﻷدوات
اﻟﺗﺎﻟﯾﺔ RadioButton :ﻋدد , button,Label , 3ﻧﻌدل اﻟﺧﺎﺻﯾﺔ Textﻷدوات RadioButton
ﺑﺣﯾث ﺗﻌرض ﻛل أداة ﻟون ﻣﻌﯾن ,ﻛﻣﺎ ﯾﺟب ) وھذا ھﺎم ﺟدا ( أن ﺗﺄﺧذ اﻷدوات اﻟﺛﻼث اﻟﺳﺎﺑﻘﺔ ﻧﻔس
ﻗﯾﻣﺔ اﻟـ , GroupNameﻧﺿﻐط ﻋﻠﻰ اﻟزر ﻣرﺗﯾن وﻧﻛﺗب اﻟﻛود اﻟﺗﺎﻟﻲ :
ﻛود C#
)protected void Button1_Click(object sender, EventArgs e
{
;"" = string color
)if (RadioButton1.Checked
;color = RadioButton1.Text
)if (RadioButton2.Checked
;color = RadioButton2.Text
)if (RadioButton3.Checked
;color = RadioButton3.Text
;Label1.Text = "Your Favorite color is: " + color
}
ﻛود VB
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button1.Click
-9-
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻛود ASP.net
><div
>Favorite color ?<br /
"<asp:RadioButton ID="RadioButton1" runat="server "Text="Red
>GroupName="colors"/><br /
"<asp:RadioButton ID="RadioButton2" runat="server "Text="Green
>GroupName="colors"/><br /
"<asp:RadioButton ID="RadioButton3" runat="server "Text="Blue
>GroupName="colors"/><br /
<asp:Button ID="Button1" runat="server" Text=" ok "
>onclick="Button1_Click" /
><br /
><asp:Label ID="Label1" runat="server" Text=""/
></div
ﻗم ﺑﺣذف اﻟﺧﺎﺻﯾﺔ GroupNameﻣن اﻟﻛود اﻟﺳﺎﺑق وﻧﻔذ وﺟرب أن ﺗﺧﺗﺎر أﻛﺛر ﻣن ﻟون .
ﻣﻼﺣظﺔ
ﻣﻧﺻﺔ ﻋﻣل ASP.Netﺗدﻋم اﻷداة RadioButtonListواﻟﺗﻲ ﺗﺗﯾﺢ إﻣﺎﻛﺎﻧﯾﺔ ﻋﻣل ﻗﺎﺋﻣﺔ ﻋﻧﺎﺻرھﺎ
ﻋﺑﺎرة ﻋن أدوات RadioButtonﻛﻣﺎ ﺳﻧرى ﻓﻲ ﻓﺻل ﻻﺣق .
إرﺳﺎل ﺑﯾﺎﻧﺎت اﻟﻧﻣوذج
ﻣﻧﺻﺔ ﻋﻣل ASP.Netﺗزودﻧﺎ ﺑﺛﻼث أدوات ﻹرﺳﺎل ﺑﯾﺎﻧﺎت اﻟﻧﻣوذج إﻟﻰ اﻟﺳﯾرﻓر Button ,
LinkButton , ImageButtonوھم ﯾؤدون ﻧﻔس اﻟوظﯾﻔﺔ وﻟﻛن ﻟﻛل ﻣﻧﮭم ﻣظﮭر وﺑﻌض
اﻟﺧﺻﺎﺋص اﻟﺗﻲ ﺗﻣﯾزه ﻋن ﻏﯾره.
ﺗﻘوم ھذه اﻷداة ﻋﻧد اﻟﻧﻘر ﻋﻠﯾﮭﺎ ﺑﺈرﺳﺎل ﺑﯾﺎﻧﺎت اﻟﺻﻔﺣﺔ إﻟﻰ اﻟﺳﯾرﻓر ﻟﺗﺗم ﻣﻌﺎﻟﺟﺗﮭﺎ ﻛﻣﺎ ﯾﺗم ﺗﻧﻔﯾذ
اﻟﻛود اﻟﻣوﺟود ﺿﻣن اﻟﺣدث Clickاﻟﺧﺎص ﺑﮭذه اﻷداة ,ﯾﻘوم اﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ ﺑﻌرض اﻟوﻗت اﻟﺣﺎﻟﻲ
ﻓﻲ أداة Labelﻋﻧد اﻟﻧﻘر ﻋﻠﻰ اﻟزر , Buttonأﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة أﺿف ﻟﮭﺎ Button,Label
اﺿﻐط ﻋﻠﻰ اﻟزر ﻣرﺗﯾن واﻛﺗب اﻟﻛود اﻟﺗﺎﻟﻲ :
- 10 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻛود C#
)protected void Button1_Click(object sender, EventArgs e
{
;)"Label1.Text = DateTime.Now.ToString("T
}
ﻛود VB
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button1.Click
)"Label1.Text = DateTime.Now.ToString("T
End Sub
ﻛود ASP.net
><div
"<asp:Button ID="Button1" runat="server" Text="Button
>onclick="Button1_Click" /
><br /
><asp:Label ID="Label1" runat="server" Text="" /
></div
ﻻﺣظ ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ اﻟزر ﯾﺗم إﻋﺎدة ﺗﺣﻣﯾل اﻟﺻﻔﺣﺔ ﺑﺎﻟﻛﺎﻣل ﺣﯾث ﺗم إرﺳﺎﻟﮭﺎ ﻟﻠﺳﯾرﻓر وﻗﺎم ﺑﻌﻣﻠﯾﺔ
اﻟﻣﻌﺎﻟﺟﺔ اﻟﻣطﻠوﺑﺔ ﺛم أﻋﺎد اﻟﻧﺗﯾﺟﺔ ﻟﻠﻣﺳﺗﺧدم .
: AccessKeyﻟﺗﺣدﯾد ﻣﻔﺗﺎح ﻣن ﻟوﺣﺔ اﻟﻣﻔﺎﺗﯾﺢ ﻋﻧد اﻟﺿﻐط ﻋﻠﯾﮫ ﯾﺗم ﻧﻘل اﻟﺗرﻛﯾز ﻟﮭذه
اﻷداة
: CommandArgumentﺗﺣدﯾد ﺑﺎراﻣﺗر ﯾﺗم إرﺳﺎﻟﮫ إﻟﻰ اﻟﺣدث Command
: CommandNameﺗﺣدﯾد اﺳم اﻷﻣر اﻟذي ﯾﺗم إرﺳﺎﻟﮫ إﻟﻰ اﻟﺣدث Command
: Enabledﺗﻔﻌﯾل أو إﻟﻐﺎء ﺗﻔﻌﯾل ھذه اﻷداة .
: OnClientClickﻟﺗﺣدﯾد ﻛود ﯾﺗم ﺗﻧﻔﯾذه ﻋﻠﻰ ﺟﮭﺎز اﻟﻣﺳﺗﺧدم ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ اﻟزر.
: PostBackUrlﻟﻺﻧﺗﻘﺎل إﻟﻰ ﺻﻔﺣﺔ ﻣﻌﯾﻧﺔ ﺑﻌد إرﺳﺎل اﻟﺑﯾﺎﻧﺎت إﻟﻰ اﻟﺳﯾرﻓر .
: TabIndexﺗﺣدﯾد رﻗم ﯾدل ﻋﻠﻰ ﺗرﺗﯾب اﻟوﺻول ﻟﮭذه اﻷداة ﻋﺑر ﻣﻔﺗﺎح . Tab
- 11 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
أداة اﻟﺗﺣﻛم Buttonﺗدﻋم اﻟطرﯾﻘﺔ Focusاﻟﺗﻲ ﺗﺳﻣﺢ ﺑوﺿﻊ اﻟﺗرﻛﯾز ﻋﻠﯾﮭﺎ ﻋﻧد اﻟﺗﻧﻔﯾذ ,ﻛﻣﺎ أﻧﮭﺎ
ﺗدﻋم اﻟﺣدﺛﯾن :
ﺗؤدي ﻧﻔس ﻋﻣل اﻷداة Buttonوﻟﻛﻧﮭﺎ ﺗﺧﺗﻠف ﻣن ﺣﯾث اﻟﻣظﮭر ﻓﮭﻲ ﺗﺑدو ﻛراﺑط وﻟﯾس ﻛزر
وﺑﺎﻟﺗﺎﻟﻲ ﯾﻣﻛن ﺗﺣدﯾد ﺻﻔﺣﺔ ﻟﻼﻧﺗﻘﺎل إﻟﯾﮭﺎ ﻋﺑر ھذه اﻷداة ,ﻟﻧﻘم ﺑﺗﻧﻔﯾذ ﻧﻔس اﻟﻣﺛﺎل اﻟﺳﺎﺑق وﻟﻛن
ﻧﺳﺗﺑدل اﻷداة Buttonﺑﺎﻷداة , LinkButtonاﻟﻛود اﻟذي ﯾﺗم ﺗﻧﻔﯾذه ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ
LinkButton
ﻛود C#
)protected void LinkButton1_Click(object sender, EventArgs e
{
;)"Label1.Text = DateTime.Now.ToString("T
}
ﻛود VB
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles LinkButton1.Click
)"Label1.Text = DateTime.Now.ToString("T
End Sub
ﻛود ASP.net
><div
"<asp:LinkButton ID="LinkButton1" runat="server
>onclick="LinkButton1_Click">LinkButton</asp:LinkButton
><br /
- 12 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﺗﻘوم اﻷداة LinkButtonوﺑﺷﻛل ﻏﯾر ﻣرﺋﻲ ﺑﺗﻧﻔﯾذ ﻛود ﺟﺎﻓﺎ ﺳﻛرﺑت وﻋﻠﻰ وﺟﮫ اﻟﺗﺣدﯾد ﯾﺗم ﺗﻧﻔﯾذ
اﻟطرﯾﻘﺔ _doPostBackوھو اﻟﻣﺳؤول ﻋن إرﺳﺎل اﻟﺑﯾﺎﻧﺎت إﻟﻰ اﻟﺳﯾرﻓر ,ﻓﻲ ﻣﺛﺎﻟﻧﺎ اﻟﺳﺎﺑق ﻓﺈن
اﻟﻛود ﯾﺑدو ﻛﺎﻟﺗﺎﻟﻲ :
ﻛود ASP.net
><a id="LinkButton1" href="javascript:__doPostBack(‘LinkButton1’,’’)">Submit</a
: AccessKeyﻟﺗﺣدﯾد ﻣﻔﺗﺎح ﻣن ﻟوﺣﺔ اﻟﻣﻔﺎﺗﯾﺢ ﻋﻧد اﻟﺿﻐط ﻋﻠﯾﮫ ﯾﺗم ﻧﻘل اﻟﺗرﻛﯾز ﻟﮭذه
اﻷداة
: CommandArgumentﺗﺣدﯾد ﺑﺎراﻣﺗر ﯾﺗم إرﺳﺎﻟﮫ إﻟﻰ اﻟﺣدث Command
: CommandNameﺗﺣدﯾد اﺳم اﻷﻣر اﻟذي ﯾﺗم إرﺳﺎﻟﮫ إﻟﻰ اﻟﺣدث Command
: Enabledﺗﻔﻌﯾل أو إﻟﻐﺎء ﺗﻔﻌﯾل ھذه اﻷداة .
: OnClientClickﻟﺗﺣدﯾد ﻛود ﯾﺗم ﺗﻧﻔﯾذه ﻋﻠﻰ ﺟﮭﺎز اﻟﻣﺳﺗﺧدم ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ ھذه اﻷداة.
: PostBackUrlﻟﻺﻧﺗﻘﺎل إﻟﻰ ﺻﻔﺣﺔ ﻣﻌﯾﻧﺔ ﺑﻌد إرﺳﺎل اﻟﺑﯾﺎﻧﺎت إﻟﻰ اﻟﺳﯾرﻓر .
: TabIndexﺗﺣدﯾد رﻗم ﯾدل ﻋﻠﻰ ﺗرﺗﯾب اﻟوﺻول ﻟﮭذه اﻷداة ﻋﺑر ﻣﻔﺗﺎح . Tab
: Textﺗﺣدﯾد اﻟﻧص اﻟذي ﯾظﮭر ﻋﻠﻰ ھذه اﻷداة .
أداة اﻟﺗﺣﻛم LinkButtonﺗدﻋم اﻟطرﯾﻘﺔ Focusاﻟﺗﻲ ﺗﺳﻣﺢ ﺑوﺿﻊ اﻟﺗرﻛﯾز ﻋﻠﯾﮭﺎ ﻋﻧد اﻟﺗﻧﻔﯾذ ,ﻛﻣﺎ
أﻧﮭﺎ ﺗدﻋم اﻟﺣدﺛﯾن :
ﺗؤدي ﻧﻔس وظﯾﻔﺔ اﻷداﺗﯾن اﻟﺳﺎﺑﻘﺗﯾن ﺣﯾث ﺗﻘوم ﺑﺈرﺳﺎل ﺑﯾﺎﻧﺎت اﻟﻧﻣوذج إﻟﻰ اﻟﺳﯾرﻓر وﺗظﮭر ﻛﺻورة
ﻋﻠﻰ ﺻﻔﺣﺔ اﻻﻧﺗرﻧت ,ﻟﻧﺗﻌرف ﺑداﯾﺔ ً ﻋﻠﻰ ﺧﺻﺎﺋص ھذه اﻷداة ﺛم ﻧطﺑق ﻣﺛﺎل ﺗوﺿﯾﺣﻲ .
- 13 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
: AccessKeyﻟﺗﺣدﯾد ﻣﻔﺗﺎح ﻣن ﻟوﺣﺔ اﻟﻣﻔﺎﺗﯾﺢ ﻋﻧد اﻟﺿﻐط ﻋﻠﯾﮫ ﯾﺗم ﻧﻘل اﻟﺗرﻛﯾز ﻟﮭذه
اﻷداة
: AlternateTextﻧص ﺑدﯾل ﯾﺗم ﻋرﺿﮫ ﻓﻲ ﺣﺎل ﻋدم ﻋرض اﻟﺻورة اﻟﻣﺣددة
: DescriptionUrlﻟﺗﺣدﯾد راﺑط إﻟﻰ ﺻﻔﺣﺔ ﺗﺣﺗوي ﺗﻔﺎﺻﯾل ﻋن اﻟﺻورة
: CommandArgumentﺗﺣدﯾد ﺑﺎراﻣﺗر ﯾﺗم إرﺳﺎﻟﮫ إﻟﻰ اﻟﺣدث Command
: CommandNameﺗﺣدﯾد اﺳم اﻷﻣر اﻟذي ﯾﺗم إرﺳﺎﻟﮫ إﻟﻰ اﻟﺣدث Command
: Enabledﺗﻔﻌﯾل أو إﻟﻐﺎء ﺗﻔﻌﯾل ھذه اﻷداة .
: ImageAlignﺗﺣدﯾد ﻣوﻗﻊ اﻟﺻورة ﺑﺎﻟﻧﺳﺑﺔ ﻷدوات htmlأﺧرى وﯾﻣﻛن أن ﺗﺄﺧذ إﺣدى
AbsBottom, AbsMiddle, Baseline, Bottom, Left, اﻟﻘﯾم اﻟﺗﺎﻟﯾﺔ :
. Middle,NotSet, Right, TextTop, Top
: ImageUrlﻟﺗﺣدﯾد ﻣﺳﺎر واﺳم اﻟﺻورة اﻟﺗﻲ ﺳﯾﺗم ﻋرﺿﮭﺎ .
: OnClientClickﻟﺗﺣدﯾد ﻛود ﯾﺗم ﺗﻧﻔﯾذه ﻋﻠﻰ ﺟﮭﺎز اﻟﻣﺳﺗﺧدم ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ ھذه اﻷداة.
: PostBackUrlﻟﻺﻧﺗﻘﺎل إﻟﻰ ﺻﻔﺣﺔ ﻣﻌﯾﻧﺔ ﺑﻌد إرﺳﺎل اﻟﺑﯾﺎﻧﺎت إﻟﻰ اﻟﺳﯾرﻓر .
: TabIndexﺗﺣدﯾد رﻗم ﯾدل ﻋﻠﻰ ﺗرﺗﯾب اﻟوﺻول ﻟﮭذه اﻷداة ﻋﺑر ﻣﻔﺗﺎح . Tab
أداة اﻟﺗﺣﻛم ImageButtonﺗدﻋم اﻟطرﯾﻘﺔ Focusاﻟﺗﻲ ﺗﺳﻣﺢ ﺑوﺿﻊ اﻟﺗرﻛﯾز ﻋﻠﯾﮭﺎ ﻋﻧد اﻟﺗﻧﻔﯾذ ,
ﻛﻣﺎ أﻧﮭﺎ ﺗدﻋم اﻟﺣدﺛﯾن :
ﻣﺛﺎل :ﺳﻧﻘوم ﻓﻲ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ ﺑﺗﺣدﯾد إﺣداﺛﯾﺎت ﻣﻛﺎن ﺿﻐط اﻟﻣﺳﺗﺧدم ﻋﻠﻰ اﻷداة ImageButton
أﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة ﺿﻊ ﻓﯾﮭﺎ أداة ImageButtonواﺟﻌﻠﮭﺎ ﺗﻌرض ﺻورة ﻣﺎ ﻋﺑر اﻟﺧﺎﺻﯾﺔ
ImageUrlﺛم أﺿف أداﺗﻲ , Labelاﺿﻐط ﻋﻠﻰ ImageButtonﻣرﺗﯾن واﻛﺗب اﻟﻛود اﻟﺗﺎﻟﻲ :
ﻛود C#
)protected void ImageButton1_Click(object sender, ImageClickEventArgs e
{
;)(Label1.Text = "X = " + e.X.ToString
;)(Label2.Text = "Y = " + e.Y.ToString
}
ﻛود VB
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As
System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
- 14 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻛود ASP.net
><div
"<asp:ImageButton ID="ImageButton1" runat="server
"ImageUrl="~/images/img.png
>onclick="ImageButton1_Click" /
><br /
><asp:Label ID="Label1" runat="server" Text=""/
><asp:Label ID="Label2" runat="server" Text=""/
></div
ﻣﻼﺣظﺔ
ﻋﻧد اﻟﺗﻌﺎﻣل ﻣﻊ أي أداة ﺗﻘوم ﺑﻌرض اﻟﺻور ﯾﻧﺻﺢ ﺑﺷدة أن ﻧﺳﺗﺧدم اﻟﺧﺎﺻﯾﺔ AlternateText
ﻟﺗﻘوم ﺑﻌرض ﻧص ﺑدﯾل ﻓﺑﻌض اﻟﻣﺳﺗﺧدﻣﯾن ﯾﻠﻐون ﺧﯾﺎر ﻋرض اﻟﺻور ﻓﻲ اﻟﻣﺗﺻﻔﺢ ﺑﮭدف
اﻟﺣﺻول ﻋﻠﻰ ﺳرﻋﺔ أﻛﺑر ﻓﻲ اﻟﺗﺻﻔﺢ .
ﺑﺷﻛل اﻓﺗراﺿﻲ ,ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ زر ﻣﺎ ﻓﻲ اﻟﺻﻔﺣﺔ ,ﯾﺗم إرﺳﺎﻟﮭﺎ إﻟﻰ اﻟﺳﯾرﻓر وﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت
ﺛم ﻋرﺿﮭﺎ ﻋﻠﻰ ﻧﻔس اﻟﺻﻔﺣﺔ ,أي ﯾﺣدث إﻋﺎدة ﺗﺣﻣﯾل ﻟﻠﺻﻔﺣﺔ ﺑﺑﯾﺎﻧﺎت ﻣﻌدﻟﺔ ,اﻵن ﺳﻧﺗﻌﻠم ﻛﯾف
ﻧﺟﻌل اﻟﺳﯾرﻓر ﯾﻌﯾدﻧﺎ إﻟﻰ ﺻﻔﺣﺔ أﺧرى ﻟﻌرض اﻟﻧﺗﺎﺋﺞ ﺑﻌد أن ﻧﺿﻐط ﻋﻠﻰ زر ﻣﺎ ﻓﻲ ﺻﻔﺣﺔ أوﻟﻰ .
ﻣﺛﺎل :أﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة ﺳﻣﮭﺎ search.aspxأﺿف ﻟﮭﺎ , TextBox , Buttonأﻋطﻲ اﻟﺧﺎﺻﯾﺔ
PostBackUrlاﻟﻘﯾﻣﺔ results.aspxوھﻲ ﺻﻔﺣﺔ ﺛﺎﻧﯾﺔ ﻧﻘوم ﺑﺈﻧﺷﺎﺋﮭﺎ ,ھذه اﻟﺧﺎﺻﯾﺔ ﻛﻣﺎ رأﯾﻧﺎ
ﺳﺎﺑﻘﺎ ً ﺗﺟﻌل اﻟﺳﯾرﻓر ﯾﻌﯾد ﺗوﺟﯾﮫ اﻟﻣﺗﺻﻔﺢ إﻟﻰ ﺻﻔﺣﺔ ﻣﺣددة ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ اﻟزر ,ﻣﺎﻧرﯾده ﻣن
ﻣﺛﺎﻟﻧﺎ ھذا أن ﯾﻘوم اﻟﻣﺳﺗﺧدم ﺑﺈدﺧﺎل ﻧص ﻣﺎ ﻓﻲ TextBoxﺛم اﻟﺿﻐط ﻋﻠﻰ اﻟزر ﻟﯾﻘوم اﻟﺳﯾرﻓر
ﺑﻌرض ﻧﻔس اﻟﻧص وﻟﻛن ﻓﻲ ﺻﻔﺣﺔ أﺧرى ,ﻛود اﻟﺻﻔﺣﺔ : search.aspx
ﻛود ASP.net
><div
><asp:TextBox ID="TxtSearch" runat="server"></asp:TextBox
><br /
"<asp:Button ID="BtnSearch" runat="server" Text="search
- 15 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
PostBackUrl="~/results.aspx" />
</div>
ﻟﻧﻌرض ﻓﯾﮭﺎ اﻟﻧص اﻟﻣدﺧلLabel وﻧﺿﯾف ﻋﻠﯾﮭﺎ ﻓﻘط أداةresults.aspx ﻧﻧﺗﻘل اﻵن إﻟﻰ اﻟﺻﻔﺣﺔ
. ﻓﻲ اﻟﺻﻔﺣﺔ اﻷوﻟﻰ
ASP.net ﻛود
<div>
<asp:Label ID="LblSearch" runat="server" Text="" />
</div>
C# ﻛود
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
TextBox txtSearch = (TextBox)PreviousPage.FindControl("TxtSearch");
LblSearch.Text = String.Format("Search for: {0}", txtSearch.Text);
}
}
VB ﻛود
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
- 16 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﺗﺣﻠﯾل اﻟﻛود اﻟﺳﺎﺑق :ﺗﺳﺗﺧدم اﻟﺧﺎﺻﯾﺔ PreviousPageﻟﻠﺣﺻول ﻋﻠﻰ ﻣؤﺷر ﻟﻠﺻﻔﺣﺔ اﻟﺳﺎﺑﻘﺔ
اﻟﺗﻲ ﺳﺑﺑت ﻧﻘﻠﻧﺎ إﻟﻰ ھذه اﻟﺻﻔﺣﺔ ,اﻟطرﯾﻘﺔ FindControlﺗﻌﯾد أداة ﺗﺣﻛم ﻣﺣددة وﺑﺟﻣﯾﻊ
ﺧﺻﺎﺋﺻﮭﺎ اﻟﺣﺎﻟﯾﺔ ) وﻧﺣن ﻧرﯾد اﺳﺗرﺟﺎع ﻗﯾﻣﺔ اﻟﺧﺎﺻﯾﺔ Textﻣﻧﮭﺎ ( اﻟﺑﺎراﻣﺗر اﻟذي ﺗم ﺗﻣرﯾره ھو
Idأداة اﻟﺗﺣﻛم اﻟﻣطﻠوﺑﺔ ,ﻧﻧﻔذ اﻟﻛود اﻟﺻﻔﺣﺔ searchوﻧدﺧل ﻧص ﻣﺎ ﺛم ﻧﺿﻐط ﻋﻠﻰ اﻟزر ﻟﻧرى
آﻟﯾﺔ ﻋﻣل اﻟﻛود واﻟﺧﺎﺻﯾﺔ PostBackUrlوﻛﯾف اﺳﺗطﻌﻧﺎ اﻟوﺻول ﻟﺑﯾﺎﻧﺎت ﺻﻔﺣﺔ ﺳﺎﺑﻘﺔ ﻣن
ﺻﻔﺣﺔ ﺗﺎﻟﯾﺔ .
ﻣﻼﺣظﺔ
ﯾوﺟد أﺳﺎﻟﯾب أﻛﺛر ﻓﺎﻋﻠﯾﺔ ﻟﻧﻘل اﻟﺑﯾﺎﻧﺎت ﺑﯾن ﺻﻔﺣﺎت اﻟﻣوﻗﻊ ﻣﺛل Cookies,Sessionوﻏﯾرھم .
وﺳﻧﻧﺎﻗﺷﮭم ﺑﺎﻟﺗﻔﺻﯾل ﻓﻲ ﻓﺻول ﻻﺣﻘﺔ إن ﺷﺎء ﷲ .
ﺗﺳﻣﺢ ھذه اﻟﺧﺎﺻﯾﺔ ﯾﺗﺣدﯾد زر ﻓﻲ اﻟﺻﻔﺣﺔ ﺑﺣﯾث ﯾﺗم ﺗﻧﻔﯾذ اﻟﻛود داﺧﻠﮫ ﺑﻣﺟرد اﻟﺿﻐط ﻋﻠﻰ ﻣﻔﺗﺎح
Enterﻣن ﻟوﺣﺔ اﻟﻣﻔﺎﺗﯾﺢ ودون اﻟﺣﺎﺟﺔ ﻟﻠﺿﻐط ﻋﻠﻰ اﻟزر ﻣن ﺧﻼل اﻟﻣﺎوس ,ﺗدﻋﻰ ھذه اﻟﺧﺎﺻﯾﺔ
defaultButtonوﯾﺗم ﺗﺣدﯾدھﺎ ﻛﺧﺎﺻﯾﺔ ﻟﻠﻧﻣوذج .
ﻣﺛﺎل :أﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة ,أﺿف ﻋﻠﯾﮭﺎ أداﺗﯾن Buttonوأداة Labelواﺣدة ,ﻓﻲ ﺣدث اﻟﻧﻘر ﻋﻠﻰ
اﻟزر اﻷول اﻛﺗب اﻟﻛود اﻟﺗﺎﻟﻲ :
ﻛود C#
)protected void Button1_Click(object sender, EventArgs e
{
;" Label1.Text = "you click Button1
}
ﻛود VB
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button1.Click
- 17 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
C# ﻛود
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text = "you click Button2 ";
}
VB ﻛود
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button2.Click
اﻟﺗﺎﺑﻌﺔ ﻟﻠﻔورم وإﻋطﺎﺋﮭﺎ ﻛﻘﯾﻣﺔdefaultButton اﻵن ﻧﺄﺗﻲ إﻟﻰ ﺑﯾت اﻟﻘﺻﯾد وھﻲ ﺗﺣدﯾد اﻟﺧﺎﺻﯾﺔ
: أﺣد اﻟزرﯾن اﻟﺳﺎﺑﻘﯾن ﻛﻣﺎ ﻓﻲ اﻟﻛود اﻟﺗﺎﻟﻲ
ASP.net ﻛود
<form id="form1" runat="server" defaultbutton="Button2">
<div>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
<br />
<asp:Button ID="Button2" runat="server" Text="Button"
onclick="Button2_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
</form>
أﻋد, ﻟﺗرى ﻣﺎﯾﺣدثEnter ﻧﻔذ اﻟﺻﻔﺣﺔ واﺿﻐط ﻋﻠﻰ, ﻛزر اﻓﺗراﺿﻲButton2 ﺣﯾث ﺗم ﺗﺣدﯾد
. Button1 ﺗﻧﻔﯾذ اﻟﻣﺛﺎل ﺑﻌد ﺗﻌدﯾل اﻟﺧﺎﺻﯾﺔ اﻟﺳﺎﺑﻘﺔ وﺟﻌﻠﮭﺎ ﺗﺳﺎوي اﻟﻘﯾﻣﺔ
ﻣﻼﺣظﺔ
ﺳﻧﺗﻌرف ﻋﻠﻰ ھذه اﻷداة, Panel ﻣﻊ أداة اﻟﺗﺣﻛمdefaultButton ﯾﻣﻛن اﺳﺗﺧدام اﻟﺧﺎﺻﯾﺔ
. ﺑﺎﻟﺗﻔﺻﯾل ﻓﻲ ﻓﻘرات ﻗﺎدﻣﺔ ﺿﻣن ھذا اﻟﻔﺻل
- 18 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
,ً ﻛﻣﺎ رأﯾﻧﺎ ﺳﺎﺑﻘﺎClick , Command ﺑﺄﻧواﻋﮭم اﻟﺛﻼﺛﺔ ﯾدﻋﻣون اﻟﺣدﺛﯾنButtons أدوات اﻟﺗﺣﻛم
ﻓﺑﺈﻣﻛﺎﻧﻧﺎ ﺗﻣرﯾر اﺳم أﻣر ﻣﺎ وﺑﺎراﻣﺗرCommand اﻟﻔرق ﺑﯾن ھذﯾن اﻟﺣدﺛﯾن ھو أﻧﮫ ﻋﻧد اﻟﻌﻣل ﻣﻊ
. Click وھذه اﻷﻣور ﻏﯾر ﻣدﻋوﻣﺔ ﻣﻊ اﻟﺣدثCommand name,argument ً ﻟﻸﻣر أﯾﺿﺎ
أﺿف, واﺣدةLabel وأداةButton أﺿف ﻋﻠﯾﮭﺎ أداﺗﻲ, أﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة: ﻣﺛﺎل ﺗوﺿﯾﺣﻲ
onCommand, CommandName , CommandArgument اﻟﺧﺻﺎﺋصButton ﻟﻸداﺗﯾن
: وﻓق اﻟﺗﺎﻟﻲ
اﻟﻘﯾﻣﺔ اﻟﺧﺎﺻﯾﺔ
Button1 اﻷداة
Button_Command onCommand
Colors CommandName
Red CommandArgument
Button2 اﻷداة
Button_Command onCommand
Colors CommandName
Blue CommandArgument
ASP.net ﻛود
<div>
<asp:Button ID="Button1" runat="server" Text="Red"
oncommand="Button_Command"
CommandName="colors"
CommandArgument="Red" />
<asp:Button ID="Button2" runat="server" Text="Blue"
oncommand="Button_Command"
CommandName="colors"
CommandArgument="Blue" />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
C# ﻛود
protected void Button_Command(object sender, CommandEventArgs e)
- 19 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
{
)"if (e.CommandName == "colors
{
))(switch (e.CommandArgument.ToString
{
case "Red":
;"Label1.Text = "RED
;break
case "Blue":
;"Label1.Text = "BLUE
;break
}
}
}
ﻛود VB
Protected Sub Button_Command(ByVal sender As Object, ByVal e As
)CommandEventArgs
ﻋرض اﻟﺻور
ﻣﻧﺻﺔ ﻋﻣل ASP.Netﺗﻘدم أداﺗﯾن ﻟﻌرض اﻟﺻور Image , ImageMapﺗﻘوم أداة اﻟﺗﺣﻛم
Imageﺑﻌرض اﻟﺻور ﺑﺄﺳﻠوب ﺑﺳﯾط ,ﻓﻲ ﺣﯾن أن اﻷداة ImageMapﺗﻘدم ﻣزاﯾﺎ أﻛﺛر ﺗﻌﻘﯾدا ,
ﺳﻧﺗﻌرف ﻋﻠﻰ ﻛﻼ اﻷداﺗﯾن ﻓﻲ اﻟﻔﻘرات اﻟﺗﺎﻟﯾﺔ .
- 20 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﺗﺳﺗﺧدم أداة اﻟﺗﺣﻛم Imageﻟﻌرض ﺻورة ﻣﺣددة ﻋﺑر اﻟﺧﺎﺻﯾﺔ , ImageUrlﺳﻧﺗﻌرف ﻋﻠﻰ
ﺑﻌض ﺑﻌض ﺧﺻﺎﺋص ھذه اﻷداة ﺛم ﻧطﺑق ﻣﺛﺎل ﻋﻠﯾﮭﺎ .
: AlternateTextﻧص ﺑدﯾل ﯾﺗم ﻋرﺿﮫ ﻓﻲ ﺣﺎل ﻋدم ﻋرض اﻟﺻورة اﻟﻣﺣددة
: DescriptionUrlﻟﺗﺣدﯾد راﺑط إﻟﻰ ﺻﻔﺣﺔ ﺗﺣﺗوي ﺗﻔﺎﺻﯾل ﻋن اﻟﺻورة
: GenerateEmptyAlternateTextإﺳﻧﺎد ﺳﻠﺳﻠﺔ ﻓﺎرﻏﺔ ﻛﻧص ﺑدﯾل ﻟﻠﺻورة
: ImageAlignﺗﺣدﯾد ﻣوﻗﻊ اﻟﺻورة ﺑﺎﻟﻧﺳﺑﺔ ﻷدوات htmlأﺧرى وﯾﻣﻛن أن ﺗﺄﺧذ
إﺣدى اﻟﻘﯾم اﻟﺗﺎﻟﯾﺔ AbsBottom, AbsMiddle, Baseline, Bottom, Left, :
. Middle,NotSet, Right, TextTop, Top
: ImageUrlﻟﺗﺣدﯾد ﻣﺳﺎر واﺳم اﻟﺻورة اﻟﺗﻲ ﺳﯾﺗم ﻋرﺿﮭﺎ .
ﻣﺛﺎل :ﺳﻧﻘوم ﻓﻲ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ ﺑﺟﻌل أداة Imageﺗﻘوم ﺑﻌرض واﺣدة ﻣن ﺛﻼث ﺻور وﺑﺷﻛل
ﻋﺷواﺋﻲ ,أﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة وأﺿف ﻋﻠﯾﮭﺎ أداة , Imageأﻧﺷﺊ ﺿﻣن اﻟﻣﺷروع ﻣﺟﻠد ﺟدﯾد ﺑﺎﺳم
imagesأﺿف ﻋﻠﯾﮫ ﺛﻼث ﺻور وﻟﺗﻛن أﺳﻣﺎؤھﺎ pic1 , pic2 , pic3اﻓﺗﺢ ﻣﻠف اﻟﻛود اﻟﺧﻠﻔﻲ أي
اﻟﺻﻔﺣﺔ Default.aspx.csوﻓﻲ ﺣدث ﺗﺣﻣﯾل اﻟﺻﻔﺣﺔ ) (Page_Loadاﻛﺗب اﻟﻛود اﻟﺗﺎﻟﻲ :
ﻛود C#
)protected void Page_Load(object sender, EventArgs e
{
;)(Random rnd = new Random
))switch (rnd.Next(3
{
case 0:
;"Image1.ImageUrl = "~/images/pic1.png
;"Image1.AlternateText = "picture1
;break
case 1:
;"Image1.ImageUrl = "~/images/pic2.png
;"Image1.AlternateText = "picture2
;break
case 2:
;"Image1.ImageUrl = "~/images/pic3.png
;"Image1.AlternateText = "picture3
;break
}
}
- 21 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻛود VB
)Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs
Handles Me.Load
ﻧﻔذ اﻟﺻﻔﺣﺔ اﻟﺳﺎﺑﻘﺔ ﻟﯾﺗم ﻋرض إﺣدى اﻟﺻور اﻟﺛﻼث ,اﺿﻐط ﻋﻠﻰ زر ﺗﺣدﯾث اﻟﺻﻔﺣﺔ )أو ( F5
ﻟﯾﺗم ﻋرض ﺻورة أﺧرى وﺑﺷﻛل ﻋﺷواﺋﻲ .ﻣﻣﺎﺳﺑق ﻧﻼﺣظ ﻣدى ﺑﺳﺎطﺔ اﻟﺗﻌﺎﻣل ﻣﻊ أداة اﻟﺗﺣﻛم
, Imageﻓﻲ اﻟﻔﻘرة اﻟﺗﺎﻟﯾﺔ ﺳﻧﺗﻌرف ﻋﻠﻰ أداة ﺗﺳﺗﺧدم أﯾﺿﺎ ً ﻟﻌرض اﻟﺻور وﻟﻛن ﺑﺧﯾﺎرات وﻣزاﯾﺎ
أﻛﺛر ﺗﻧوﻋﺎ ً .
ﺗﺳﺗﺧدم ھذه اﻷداة ﻟﻌرض ﺻورة ﻣﺎ ﺑﺎﻹﺿﺎﻓﺔ ﻟرﺑطﮭﺎ ﻣﻊ ﺧرﯾطﺔ ﻏﯾر ﻣرﺋﯾﺔ ,ﺑﻣﻌﻧﻰ آﺧر ﻋﻧد ﻧﻘر
اﻟﻣﺳﺗﺧدم ﻋﻠﻰ أﺟزاء ﻣﺧﺗﻠﻔﺔ ﻣن اﻟﺻورة ﻓﺑﺈﻣﻛﺎﻧﻧﺎ اﻻﺳﺗﺟﺎﺑﺔ ﺑردود ﻓﻌل ﻣﺧﺗﻠﻔﺔ أﯾﺿﺎ ً ﺑﺣﺳب
إﺣداﺛﯾﺎت ﻣوﻗﻊ اﻟﻧﻘر ﻋﻠﻰ اﻟﺻورة ,وﻋﻠﻰ ھذا اﻷﺳﺎس ﻓﺑﺈﻣﻛﺎﻧﻧﺎ اﺳﺗﺧدام ھذه اﻷداة ﻛوﺳﯾﻠﺔ ﻟﻠﺗﻧﻘل
ﺑﯾن اﻟﺻﻔﺣﺎت ﻣﺛﻼ ً ,ﺣﯾث ﻧﻘوم ﺑﻌرض ﺻورة ﺗﺣﺗوي ﻋﻠﻰ رﺳوﻣﺎت ﻣﻌﺑرة ﻋن ﺻﻔﺣﺎت ﺗﺎﻟﯾﺔ ﺛم
ﻧﺣدد ﻋﻧد اﻟﻧﻘر ﻋﻠﻰ ﻣوﻗﻊ ﻣﺎ ﻣن ھذه اﻟﺻورة اﻟﺻﻔﺣﺔ اﻟﺗﻲ ﺳﯾﺗم اﻹﻧﺗﻘﺎل ﻟﮭﺎ ,اﺳﺗﺧدام آﺧر ﻟﮭذه
اﻷداة ھو ﺗﺣدﯾد دﺧل اﻟﻣﺳﺗﺧدم ﺣﯾث ﺑﺈﻣﻛﺎﻧﻧﺎ ﻋرض ﺻورة ﺗﺣﺗوي ﻋﻠﻰ ﻣﻧﺗﺟﺎت ﻋدﯾدة وﯾﻛون
ﺧﯾﺎر اﻟﻣﺳﺗﺧدم ﺑﺣﺳب اﻟﻣﻧﺗﺞ اﻟذي ﺗم اﻟﺿﻐط ﻋﻠﯾﮫ ﻋﻠﻰ اﻟﺻورة .
- 22 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
: AccessKeyﻟﺗﺣدﯾد ﻣﻔﺗﺎح ﻣن ﻟوﺣﺔ اﻟﻣﻔﺎﺗﯾﺢ ﻋﻧد اﻟﺿﻐط ﻋﻠﯾﮫ ﯾﺗم ﻧﻘل اﻟﺗرﻛﯾز ﻟﮭذه
اﻷداة
: AlternateTextﻧص ﺑدﯾل ﯾﺗم ﻋرﺿﮫ ﻓﻲ ﺣﺎل ﻋدم ﻋرض اﻟﺻورة اﻟﻣﺣددة
: DescriptionUrlﻟﺗﺣدﯾد راﺑط إﻟﻰ ﺻﻔﺣﺔ ﺗﺣﺗوي ﺗﻔﺎﺻﯾل ﻋن اﻟﺻورة
: GenerateEmptyAlternateTextإﺳﻧﺎد ﺳﻠﺳﻠﺔ ﻓﺎرﻏﺔ ﻛﻧص ﺑدﯾل ﻟﻠﺻورة
: HotSpotModeﺗﺣدﯾد اﻟﺳﻠوك اﻟذي ﺳﯾﺗم ﺗﻧﻔﯾذه ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ ﻣﻧطﻘﺔ ﻣن اﻟﺻورة
وﺗﺄﺧذ إﺣدى اﻟﻘﯾم اﻟﺗﺎﻟﯾﺔ Inactive, Navigate, NotSet, PostBack :
: HotSpotsﺗﻛﻣﻧﻧﺎ ﻣن اﻟﺣﺻول ﻋﻠﻰ ﺟﻣﯾﻊ اﻟﻧﻘﺎط اﻟﺳﺎﺧﻧﺔ ) ( HotSpotsاﻟﻣوﺟودة
ﺿﻣن أداة اﻟﺗﺣﻛم ImageMap
: ImageAlignﺗﺣدﯾد ﻣوﻗﻊ اﻟﺻورة ﺑﺎﻟﻧﺳﺑﺔ ﻷدوات htmlأﺧرى وﯾﻣﻛن أن ﺗﺄﺧذ إﺣدى
AbsBottom, AbsMiddle, Baseline, Bottom, Left, اﻟﻘﯾم اﻟﺗﺎﻟﯾﺔ :
. Middle,NotSet, Right, TextTop, Top
: ImageUrlﻟﺗﺣدﯾد ﻣﺳﺎر واﺳم اﻟﺻورة اﻟﺗﻲ ﺳﯾﺗم ﻋرﺿﮭﺎ .
: TabIndexﺗﺣدﯾد رﻗم ﯾدل ﻋﻠﻰ ﺗرﺗﯾب اﻟوﺻول ﻟﮭذه اﻷداة ﻋﺑر ﻣﻔﺗﺎح . Tab
: Targetﺗﺳﻣﺢ ﻟﻧﺎ ﺑﻔﺗﺢ اﻟﺻﻔﺣﺔ ﻓﻲ ﻧﺎﻓذة ﺟدﯾدة .
أداة اﻟﺗﺣﻛم ImageMapﺗدﻋم اﻟطرﯾﻘﺔ Focusاﻟﺗﻲ ﺗﺳﻣﺢ ﺑوﺿﻊ اﻟﺗرﻛﯾز ﻋﻠﯾﮭﺎ ﻋﻧد اﻟﺗﻧﻔﯾذ ,ﻛﻣﺎ
أﻧﮭﺎ ﺗدﻋم اﻟﺣدث Clickواﻟذي ﯾﺗم إطﻼﻗﮫ ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ ﻣﻧطﻘﺔ ﻣن ھذه اﻷداة وﻛﺎﻧت اﻟﺧﺎﺻﯾﺔ
HotSpotModeﺗﺄﺧذ اﻟﻘﯾﻣﺔ .PostBack
ﻣﺛﺎل :ﺳﻧﻘوم ﻓﻲ اﻟﻣﺛﺎل ﺑﻌرض ﻛﯾﻔﯾﺔ اﺳﺗﺧدام أﺣد ﺟواﻧب أداة اﻟﺗﺣﻛم , ImageMapﺣﯾث ﺳﻧﻘوم
ﺑﺈﻧﺷﺎء ﻗﺎﺋﻣﺔ ﻟﻠﺗﻧﻘل ﺑﯾن ﺻﻔﺣﺎت ﻣﺧﺗﻠﻔﺔ ,أﻧﺷﺊ ﻣﺷروع ﺟدﯾد وأﺿف أرﺑﻊ ﺻﻔﺣﺎت وﻟﺗﻛن أﺳﻣﺎؤھﺎ
, Dafault , page1 , page2 , page3أﺿف ﻋﻠﻰ اﻟﺻﻔﺣﺔ Defaultأداة ImageMap
واﺟﻌﻠﮭﺎ ﺗﻌرض ﺻورة ﻣﻧﺎﺳﺑﺔ ﻟﻠﻐرض اﻟﺳﺎﺑق ,وﻟﺗﻛن ﻛﺎﻟﺗﺎﻟﻲ :
ﺣﯾث ﺳﻧﻘوم ﺑﺗﻘﺳﯾم أداة اﻟﺻورة اﻟﺳﺎﺑﻘﺔ إﻟﻰ ﺛﻼث ﻣﻧﺎطق وﻛل ﻣﻧطﻘﺔ ﺗﻧﻘﻠﻧﺎ إﻟﻰ ﺻﻔﺣﺔ ﻣﺣددة
- 23 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻛود ASP.net
><div
"<asp:ImageMap ID="ImageMap1" runat="server
>"ImageUrl="~/images/navigationBar.jpg
></asp:ImageMap
></div
ﻣﺛﺎل آﺧر :ﺑﻌد أن ﺗﻌرﻓﻧﺎ ﻋﻠﻰ ﻛﯾﻔﯾﺔ اﺳﺗﺧدام اﻷداة ImageMapﻟﻠﺗﻧﻘل ﺑﯾن اﻟﺻﻔﺣﺎت اﻟﻣﺧﺗﻠﻔﺔ ,
ﺳﻧﻌرض ھﻧﺎ آﻟﯾﺔ اﻟﻌﻣل ﻣﻊ PostBackأي اﻟﺑﻘﺎء ﺿﻣن ﻧﻔس اﻟﺻﻔﺣﺔ ,أﺿف ﺻﻔﺣﺔ ﺟدﯾدة
وأﺿف ﻋﻠﯾﮭﺎ , TextBox , ImageMapاﻟﺻورة اﻟﻣطﻠوﺑﺔ ﻟﯾﺗم ﻋرﺿﮭﺎ ﺷﺑﯾﮭﺔ ﺑﺎﻟﺗﺎﻟﻲ :
اﻟﻣطﻠوب ﺗﻧﻔﯾذه ھو أﻧﮫ ﻋﻧد اﻟﺿﻐط اﻟﻣﻧطﻘﺔ اﻷوﻟﻰ ) ( ToUpperﯾﺗم ﺗﺣوﯾل اﻟﻧص اﻟﻣﻛﺗوب ﻓﻲ
أداة TextBoxإﻟﻰ ﺣﺎﻟﺔ أﺣرف ﻛﺑﯾرة ,وﻋﻧد اﻟﺿﻐط اﻟﻣﻧطﻘﺔ اﻟﺛﺎﻧﯾﺔ ) ( ToLowerﯾﺗم ﺗﺣوﯾل
اﻟﻧص اﻟﻣﻛﺗوب ﻓﻲ أداة TextBoxإﻟﻰ ﺣﺎﻟﺔ أﺣرف ﺻﻐﯾرة ,وﯾؤدي اﻟﺿﻐط ﻋﻠﻰ اﻟﻣﻧطﻘﺔ اﻟﺛﺎﻟﺛﺔ
إﻟﻰ ﻣﺳﺢ ) ( Eraseاﻟﻧص اﻟﻣوﺟدود ﻓﻲ اﻷداة , TextBoxاﻧﻘر ﻋﻠﻰ اﻷداة ImageMapﻣرﺗﯾن
وأﺿف اﻟﻛود اﻟﺗﺎﻟﻲ :
ﻛود C#
)protected void ImageMap1_Click(object sender, ImageMapEventArgs e
{
)switch (e.PostBackValue
- 24 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
{
case "ToUpper":
TextBox1.Text = TextBox1.Text.ToUpper();
break;
case "ToLower":
TextBox1.Text = TextBox1.Text.ToLower();
break;
case "Erase":
TextBox1.Text = String.Empty;
break;
}
}
VB ﻛود
Select Case e.PostBackValue
Case "ToUpper"
TextBox1.Text = TextBox1.Text.ToUpper()
Exit Select
Case "ToLower"
TextBox1.Text = TextBox1.Text.ToLower()
Exit Select
Case "Erase"
TextBox1.Text = [String].Empty
Exit Select
End Select
واﻟﺗﻲ ﯾﺗم ﺗﺣدﯾد ﻗﯾﻣﺗﮭﺎ ﺑﺣﺳب اﻟﻣﻧطﻘﺔ اﻟﺗﻲPostBackVlaue ﻓﻲ اﻟﻛود اﻟﺳﺎﺑق اﺳﺗﻘﺑﻠﻧﺎ اﻟﺧﺎﺻﯾﺔ
: ﻛود اﻟﺻﻔﺣﺔ, ﻛﻣﺎ ﺳﻧرىImageMap ﯾﺗم اﻟﺿﻐط ﻋﻠﯾﮭﺎ ﻓﻲ اﻷداة
ASP.net ﻛود
<div>
<br />
- 25 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
></div
ﺗﻣﻛﻧﻧﺎ ھذه اﻷداة ﻣن اﻟﺗﻌﺎﻣل ﻣﻊ ﻣﺟﻣوﻋﺔ أدوات ASP.Netدﻓﻌﺔ واﺣدة ,ﺣﯾث ﯾﺗم ﺗطﺑﯾق ﺳﻠوك ﻣﺎ
ﻋﻠﻰ ﺟﻣﯾﻊ أدوات اﻟﺗﺣﻛم اﻟﻣوﺟودة ﺿﻣن أداة , Panelﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻟو ﺗم إﺧﻔﺎء أداة اﻟﺗﺣﻛم
ھذه ﻓﺳﯾﺧﺗﻔﻲ ﻣﻌﮭﺎ ﺟﻣﯾﻊ اﻷدوات اﻟﻣﺣﺗوات ﺿﻣﻧﮭﺎ وﻛذﻟك ﻟو ﺗم إﻟﻐﺎء ﺗﻔﻌﯾل أداة Panelﻓﺳﯾﺗم
إﻟﻐﺎء ﺗﻔﻌﯾل ﺟﻣﯾﻊ أدوات اﻟﺗﺣﻛم اﻟﻣوﺟودة ﺿﻣﻧﮭﺎ وھﻛذا ...
ﻣﺛﺎل :ﺳﻧﻘوم ﻓﻲ اﻟﺗطﺑﯾق اﻟﺗﺎﻟﻲ ﺑﺈﺿﺎﻓﺔ Panelوﻣن ﺛم ﻧﺿف إﻟﯾﮭﺎ ﻣﺟﻣوﻋﺔ ﻣن أدوات اﻟﺗﺣﻛم
اﻟﻣﺧﺗﻠﻔﺔ ﻟﻧرى أن ﺗطﺑﯾق أﻣر ﻣﺎ ﻋﻠﻰ Panelﺳﯾﺗم ﺗطﺑﯾﻘﮫ ﻋﻠﻰ اﻷدوات داﺧﻠﮭﺎ أﯾﺿﺎ ً ,أﻧﺷﺊ
ﺻﻔﺣﺔ ﺟدﯾدة ,أﺿف أداة ﺗﺣﻛم Panelوﺿﻊ داﺧﻠﮭﺎ ﻣﺟﻣوﻋﺔ ﻣن أدوات اﻟﺗﺣﻛم ﺛم ﺿﻊ زر واﺣد
ﺧﺎرﺟﮭﺎ وﻟﯾﻛن ﻛود اﻟﺻﻔﺣﺔ ﺷﺑﯾﮫ ﺑﺎﻵﺗﻲ :
ﻛود ASP.net
><div
- 26 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
<br />
<asp:Button ID="Button1" runat="server" Text="Visible" onclick="Button1_Click"
/>
</div>
: ﻓﮭوButton1 أﻣﺎ اﻟﻛود اﻟذي ﯾﺗم إﺿﺎﻓﺗﮫ ﻟﺣدث اﻟﺿﻐط ﻋﻠﻰ اﻟزر
C# ﻛود
protected void Button1_Click(object sender, EventArgs e)
{
pnlContact.Visible = !pnlContact.Visible;
}
VB ﻛود
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
ﻋﻠﻰ ﺗﺟﻣﯾﻊ أدوات اﻟﺗﺣﻛم ذات وظﯾﻔﺔ أو ﺻﻔﺎت ﻣﺷﺗرﻛﺔ ﯾﺣددھﺎPanel ﺗﻌﻣل أداة اﻟﺗﺣﻛم: ً إذا
. ﺑﻐرض ﺗﻧظﯾم اﻟﺻﻔﺣﺔ واﻻﺳﺗﻔﺎدة ﻣن اﻟﻣزاﯾﺎ اﻟﺗﻲ ﺗﻘدﻣﮭﺎ ھذه اﻷداة, أﺳﻠوب اﻟﻌﻣل ﻓﻲ ﻣﺟﻣوﻋﺎت
وﻋﻠﻰ اﻟﻧﻘﯾض ﻣن, ﺗﻌد ھذه اﻷداة اﻟطرﯾﻘﺔ اﻷﻛﺛر ﺷﯾوﻋﺎ ً وﺑﺳﺎطﺔ ﻟﻠﺗﻧﻘل ﺑﯾن اﻟﺻﻔﺣﺎت اﻟﻣﺧﺗﻠﻔﺔ
. ﻓﮭﻲ ﻻﺗﻘوم ﺑﺈرﺳﺎل اﻟﺑﯾﺎﻧﺎت إﻟﻰ اﻟﺳﯾرﻓرLinkButton اﻷداة
- 27 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
ﻣﻼﺣظﺔ
ﻟو ﺗم ﺗﺣدﯾد ﻗﯾم ﻟﻠﺧﺎﺻﯾﺗﯾن Text , ImageUrlﻣﻌﺎ ً ,ﻋﻧدﺋذ ﺳﯾﺗم ﻋرض اﻟﺻورة ﻷن أوﻟوﯾﺗﮭﺎ
أﻋﻠﻰ وﻟن ﯾﺗم ﻋرض اﻟﻧص اﻟﻣﺣدد ﺑﺎﻟﺧﺎﺻﯾﺔ . Text
ﻣﺛﺎل :أﻧﺷﺊ ﺻﻔﺣﺔ ﺟدﯾدة ,أﺿف أداة HyperLinkوﺣدد ﺧﺻﺎﺋﺻﮭﺎ ﻛﺎﻟﺗﺎﻟﻲ :
ﻛود ASP.net
><div
"<asp:HyperLink ID="HyperLink1" runat="server" ImageUrl="~/images/img.png
NavigateUrl="~/Default14.aspx">Go to Page Defaul14 page
></asp:HyperLink
></div
ﻧﻔذ اﻟﺻﻔﺣﺔ اﻟﺳﺎﺑﻘﺔ وﻻﺣظ ﻋدم ظﮭور اﻟﻧص Go to Page Defaul14 pageإﻧﻣﺎ ظﮭرت
اﻟﺻورة اﻟﻣﺣددة ﻓﻘط .
ﺧﺎﺗﻣﺔ اﻟﻔﺻل
ﻓﻲ ھذا اﻟﻔﺻل ,اﺳﺗﻌرﺿﻧﺎ ﻣﻌﺎ ً ﻣﺟﻣوﻋﺔ ﻣن اﻷدوات اﻷﺳﺎﺳﯾﺔ ﻟﺑﻧﺎء ﺗطﺑﯾﻘﺎت اﻹﻧﺗرﻧت وأھم
ﺧﺻﺎﺋﺻﮭﺎ ,ﺳﻧﻛﻣل ﻓﻲ اﻟﻔﺻول اﻟﻼﺣﻘﺔ اﻟﺗﻌرف ﻋﻠﻰ اﻟﻣزﯾد ﻣن اﻷدوات اﻷﻛﺛر ﺗﻧوﻋﺎ ً وﺗﻌﻘﯾدا ﻣﻊ
اﻟﻣزﯾد ﻣن اﻷﻣﺛﻠﺔ اﻟﻣﺗﻧوﻋﺔ ,ﺣﯾث ﺳﻧﻼﺣظ ارﺗﻔﺎع ﻣﺳﺗوى اﻷﻣﺛﻠﺔ ﻛﻠﻣﺎ ﺗﻘدﻣﻧﺎ أﻛﺛر ﻓﻲ ھذا اﻟﻛﺗﺎب .
- 28 -
اﺳﺗﺧدام أدوات اﻟﺗﺣﻛم اﻟﻘﯾﺎﺳﯾﺔ اﻟﻔﺻل اﻷول
أﺗوﺟﮫ ﺑﺟزﯾل اﻟﺷﻛر إﻟﻰ ﻛل اﻟﻠذﯾن ﯾﻘدﻣون اﻟدﻋم اﻟﻣﻌﻧوي واﻟﻌﻠﻣﻲ ﻹﻧﺟﺎز ھذا اﻟﻛﺗﺎب ﺑﺄﻓﺿل
ﻣﺳﺗوى ﻣﻣﻛن ,وأﺧص ﺑﺎﻟﺷﻛر اﻷﺧت ﺷــﺟــون ) ﻋﺿو ﻣﻧﺗدى ﻓﯾﺟوال ﺑﯾﺳك ﻟﻠﻌرب ( واﻟﺗﻲ
ﺗﻔﺿﻠت ﺑﻛﺗﺎﺑﺔ أﻛواد اﻟﻔﯾﺟوال ﺑﯾﺳك ﻟﮭذا اﻟﻔﺻل .
ﻟﻠﺗواﺻل :
m-hajjkhalaf@hotmail.com
http://www.facebook.com/mohammed.hajkhalaf
- 29 -